我正在创建一个包含2个文本视图的列表,其中包含从parse.com云获得的数据。 两个文本视图是: 1.正常文本(说A) 2.文本格式化成字符串两个日期对象组成(说B)如何在ParseQueryAdapter列表视图中添加2个文本视图
我使用下面的代码为这样:
ADAPTER
public class TripListAdapter extends ParseQueryAdapter<Trips> {
SimpleDateFormat formatter = new SimpleDateFormat("MMM dd, yyy");
public TripListAdapter(Context context) {
super(context, new ParseQueryAdapter.QueryFactory<Trips>() {
public ParseQuery<Trips> create() {
// Here we can configure a ParseQuery to display
// only top-rated meals.
ParseUser currentUser = ParseUser.getCurrentUser();
ParseQuery query = new ParseQuery("Trips");
query.whereEqualTo("user", currentUser);
//query.whereContainedIn("rating", Arrays.asList("5", "4"));
query.orderByDescending("createdAt");
return query;
}
});
}
@Override
public View getItemView(Trips trips, View v, ViewGroup parent) {
if (v == null) {
v = View.inflate(getContext(), R.layout.item_trip_list, null);
}
super.getItemView(trips, v, parent);
//ParseImageView mealImage = (ParseImageView) v.findViewById(R.id.icon);
//ParseFile photoFile = meal.getParseFile("photo");
//if (photoFile != null) {
//mealImage.setParseFile(photoFile);
//mealImage.loadInBackground(new GetDataCallback() {
//@Override
//public void done(byte[] data, ParseException e) {
// nothing to do
// }
//});
//}
TextView destinationTextView = (TextView) v.findViewById(R.id.trip_destination);
destinationTextView.setText(trips.getDestination());
TextView durationTextView = (TextView)v.findViewById(R.id.trip_duration);
durationTextView.setText(formatter.format(trips.getStartDate())+" - "+formatter.format(trips.getEndDate()));
return v;
}
Trips.java
public class Trips extends ParseObject {
public Trips() {
// A default constructor is required.
}
public String getDestination() {
return getString("to");
}
public void setDestination(String title) {
put("to", title);
}
public String getStartDate() {
return getString("start");
}
public void setStartDate(Date dateObj) {
put("start", dateObj);
}
public String getEndDate() {
return getString("end");
}
public void setEndDate(Date dateObj) {
put("end", dateObj);
}
}
使用列表视图代码片段
ListView mTripsList = (ListView)rootView.findViewById(R.id.trips_list);
mainAdapter = new ParseQueryAdapter<Trips>(getActivity(), Trips.class);
mainAdapter.setTextKey("to");
mTripsList.setAdapter(mainAdapter);
我只能看到上面的第一个文本(A),而不是第二个带格式化日期对象(B)的文本。我该如何解决 ? 感谢
列表项
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:background="@drawable/bg_card"
>
<TextView
android:id="@+id/trip_destination"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/trip_duration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
/>
</LinearLayout>
ü可以请添加列表视图列布局文件? – user2851150
这只是一个具有两个文本视图的简单水平线性布局。没有什么特别的。 –