[英]From ListView to TextView (Parse)
With support, I have managed to retrieve list and images from parse, however, I want to be able to retrieve string that can be displayed in a textview as oppose to listview because there is no reason using a list when I am just retrieving one item. 在支持下,我设法从解析中检索列表和图像,但是,我希望能够检索可以在textview中显示为与listview相反的字符串,因为在我检索一个项目时没有理由使用列表。 Furthermore, I have issues with the listview being scrollable on touch, so I guess it would be better if it was just a textview.
此外,我的问题是列表视图在触摸时可以滚动,因此我想如果它只是一个文本视图会更好。
Below is the code that retrieves listview, I want to be able to display that information in a textview instead. 下面是检索列表视图的代码,我希望能够在文本视图中显示该信息。 In this case, I am trying to retrieve information from the ActivityName column of parse for the user that satisfies various conditions set.
在这种情况下,我试图从满足各种条件设置的用户的解析的ActivityName列中检索信息。
ParseQuery<ParseUser> query = ParseUser.getQuery();
// query.whereEqualTo("ActivityName",userActivitySelectionName);
query.whereNotEqualTo("objectId", ParseUser.getCurrentUser()
.getObjectId());
// users with Gender = currentUser.Looking_Gender
query.whereEqualTo("Gender", userLookingGender);
// users with Looking_Gender = currentUser.Gender
query.whereEqualTo("Looking_Gender", userGender);
query.setLimit(1);
query.whereEqualTo("ActivityName", activityName);
// query.whereGreaterThanOrEqualTo("Age", minimumAge);
// query.whereLessThanOrEqualTo("Age", maximumAge);
query.orderByDescending("Name");
Log.d(Constants.LOG, "");
query.findInBackground(new FindCallback<ParseUser>() {
public void done(List<ParseUser> userlistactivityname, ParseException e) {
if (e == null) {
for (int i = 0; i < userlistactivityname.size(); i++) {
names.add(userlistactivityname.get(i).get("ActivityName").toString());
}
usersListActivityname = (ListView) getActivity().findViewById(
R.id.userlistactivityname);
namesArrayAdapter = new ArrayAdapter<String>(getActivity()
.getApplicationContext(), R.layout.user_list_item,
names);
usersListActivityname.setScrollContainer(false);
usersListActivityname.setClickable(false);
usersListActivityname.setAdapter(namesArrayAdapter);
} else {
}
}
});
Below is the XML 下面是XML
<ListView
android:id="@+id/userlistactivityname"
android:layout_width="220dp"
android:layout_height="50dp"
android:layout_below="@+id/textView1"
android:layout_marginTop="7dp"
android:layout_toLeftOf="@+id/imageView2"
android:divider="@null" >
</ListView>
Update: 更新:
query2.findInBackground(new FindCallback<ParseUser>() {
public void done(List<ParseUser> userlistactivityname, ParseException e) {
if (e == null) {
TextView text=(TextView)getActivity().findViewById(R.id.userlistactivityname);
text.get("ActivityName").setText();
} else {
}
}
});
XML XML
<TextView
android:id="@+id/userlistactivityname"
android:layout_width="220dp"
android:layout_height="50dp"
android:cacheColorHint="@android:color/transparent"
android:layout_below="@+id/textView1"
android:layout_toLeftOf="@+id/imageView2"
android:divider="@null" >
</TextView>
Update: textview cannot be cast to android.widget.listview 更新:无法将textview强制转换为android.widget.listview
query2.findInBackground(new FindCallback<ParseUser>() {
public void done(List<ParseUser> userlistactivityname, ParseException e) {
if (e == null) {
for (int i = 0; i < userlistactivityname.size(); i++) {
mUserActivityNameRetrieved = (TextView) getActivity().findViewById(R.id.userlistactivityname);
mUserActivityNameRetrieved.setText(userlistactivityname.get(i).get("ActivityName").toString()); }
} else {
}
}
});
Just make your ListView a TextView, then when you databind the TextView in Java, called the .setText() method on the TextView. 只需将ListView设为TextView,然后在Java中对TextView进行数据绑定时,在TextView上称为.setText()方法。 Also, since you're setting the limit of your query to 1, you don't need to order your query.
另外,由于您将查询限制设置为1,因此无需订购查询。 The line
query.orderByDescending("Name");
行
query.orderByDescending("Name");
is unnecessary 没必要
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.