2014-09-09 2 views
2

У меня есть небольшое приложение, которое извлекает данные с сервера. Это делается с помощью функции, которую я создал. Эта функция возвращает List<string>.Вставить данные в Listview - Xamarin

Теперь вопрос, который у меня есть. Я хочу вставить список, который я получаю из своей функции, в ListView.

Я использую следующий код, чтобы попробовать это:

List<string> range = _connection.GetData("animals"); 
ArrayAdapter adapter = new ArrayAdapter<String>(this,Resource.Layout.dataView, range); 
listView.SetAdapter (adapter); 

Range является список, который я получаю от моей функции GetData() Теперь я хочу, чтобы вставить данные из списка диапазона в моем ListView, но, как как только я запустил приложение, нажмите кнопку, чтобы сделать это, приложение выключится с этим сообщением The application has stopped unexpectedly. Please try again.. Может кто-нибудь сказать мне, что я делаю неправильно здесь, или показать мне, как я могу вставить данные в свой список.

Редактировать

Я проверил вывод приложения, и он говорит следующее:

[AndroidRuntime] java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView 

Так я знаю, почему приложение завершает работу. Может кто-нибудь показать мне или сказать, как мне нужно вставлять данные, потому что адаптер требует, чтобы Textview работал.

Редактировать

Это мой XML для моего ListView

<ListView 
     android:minWidth="25px" 
     android:minHeight="25px" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/dataListView" /> 

Заранее спасибо

Final Редактировать 10/9/2014

После долгих исследований en, будучи направленным в правильном направлении, я финнали узнал, что я делал Онг.

Это, как вы вставить данные в ListView:

ArrayAdapter adapter = new ArrayAdapter(this,Android.Resource.Layout.SimpleListItem1, response); 
      listView.Adapter = adapter; 

Проблема заключалась в том, что я использовал устаревшую функцию SetAdapter() всем в комментариях/awnsers спасибо за помощь.

+1

вы можете поделиться LogCat с нами? – Metehan

+0

Я внесла в редакцию вопрос – 2014-09-09 13:39:16

+0

http://stackoverflow.com/a/9282069/3602047 – Metehan

ответ

2

Resource.Layout.dataView должен быть идентификатором файла макета xml, содержащего только TextView.

, если он содержит раскладку использование:

ArrayAdapter<String>(this, R.layout.a_layout_file, R.id.a_text_view_within_layout, this.file)

или другое использование:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    // other attributes of the TextView 
/> 
+0

Спасибо за помощь, но, как я сказал, я хочу использовать listvieuw.есть ли способ сделать это или я должен использовать textview – 2014-09-09 13:44:50

+0

, вам нужно написать собственный адаптер для этого – Metehan

+1

http://stackoverflow.com/q/18395753/3602047 – Metehan

Смежные вопросы