#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);