简体   繁体   English

从ListView到TextView(解析)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM