Проблема с ListView при отображении строк

#android #listview

#Android #listview

Вопрос:

может ли кто-нибудь помочь мне отобразить набор результатов в моем приложении в виде списка. я получил следующее

 codeList<Result> results = response.results;

        for (Result result : results) {
            //Toast.makeText(this, result.fromUser, Toast.LENGTH_SHORT).show();
            Toast.makeText(this, result.text, Toast.LENGTH_LONG).show();
            //String[] ch=getResources().getString(result.text);//result.text;
            //adapter = new ArrayAdapter<String>(this,R.layout.mainlist,result.text);
            //SimpleArrayAdapter adapter = new SimpleArrayAdapter(this, result.text);

            setListAdapter(adapter);
        }
  

я хочу показать result.text в listview для каждого значения. я перепробовал все, что было прокомментировано в коде, но не получил. пожалуйста, помогите мне.

Комментарии:

1. Просмотрите приведенный здесь пример: goo.gl/uzXrs

Ответ №1:

с помощью этого короткого фрагмента кода трудно понять, в чем может быть проблема,

возможно, это поможет http://developer.android.com/resources/tutorials/views/hello-listview.html

после setListAdapter(adapter); попытки добавления adapter.notifyDataSetChanged() или, в качестве альтернативы, попробуйте adapter.setNotifyOnChange(true) сразу после инициализации адаптера, это может решить вашу проблему, если это то, что я думаю. еще опубликуйте больше своего кода

Ответ №2:

Вы можете использовать **ExpandableListView**

введите описание изображения здесь

Обратитесь : http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/ExpandableList3.html

Ответ №3:

1) расширьте ArrayAdapter своим пользовательским классом:

 class MyAdapter extends ArrayAdapter<Result> 
  

2) создайте xml для макета каждой строки, например. row.xml и установите его в конструкторе вашего адаптера:

     MyAdapter(Activity context, int resourceId, ArrayList<Result>
    mResults) {             
      super(context, R.layout.row, mResults);
 }
  

3) в getView методе вашего адаптера заполните соответствующее поле своим результатом.текст
4) установите адаптер списка на свой пользовательский адаптер

    MyAdapter adapter = new MyAdapter(this, 0, mResults);
  setListAdapter(adapter);