Есть ли простой пример List / ListAdapter для Android

У меня есть веб-служба, которая возвращает супер простой список объектов

MyObject [] data = webServiceCall ();

MyObject имеет 1 поле, которое я хочу отобразить, "Name" (т. data[0].Name )

Как я могу превратить это в действие, в котором указано только имя этих объектов в прокручиваемом listActivity на Android. Я очень запутался в Cursors и не уверен, нужны ли мне курсоры, и я не уверен, какой адаптер для реализации ( BaseAdapter , SimpleAdapter т. Д.),

Так что я думаю, я ищу три вещи,

Активность, адаптер и layout.xml

Просто пытаясь понять, что такое андроид, определенно здесь noob

Поэтому я думаю, что я понял это с небольшим вдохновением от ответа RobGThai, я отправляю код для кого-то еще, чтобы увидеть, я думаю, что я действительно не использовал пользовательский адаптер

Это супер простой пример, который заставил меня начать, поэтому, как только у меня это получилось, я убедился, что у моего «MyObject» был метод toString (), чтобы он отображался правильно в списке, и я передал массив MyObject [] в «новый ArrayAdapter "вместо listItems

FooList.java

 import android.app.ListActivity; import android.os.Bundle; import android.widget.ArrayAdapter; public class FooList extends ListActivity { String[] listItems = {"item 1", "item 2 ", "list", "android", "item 3", "foobar", "bar", }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.temp); setListAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, listItems)); } } 

Макет xml, который я использовал (temp.xml)

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@android:id/empty" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Empty set" /> </LinearLayout> 

Сделайте свою деятельность расширенной ListActivity.

Тогда это поможет вам начать работу.

 Object[] sArray = {"This", "is", 3.5, true, 2, "for", "bla"}; ArrayAdapter adp = new ArrayAdapter(this, android.R.layout.simple_list_item_1, sArray); setListAdapter(adp); 

Вторые параметры могут быть изменены на ваш предпочтительный макет. Дополнительную информацию см. В документе API.

Вы также можете подключить AlertDialog к ListView когда пользователь нажимает на ListItem . Я включаю рабочий код ниже, если кто-то пытается сделать то же самое,

 final ListView v = getListView(); v.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(final AdapterView<?> parentView, View view, int position, long id) { final String fileName = (String) parentView.getItemAtPosition(position); new AlertDialog.Builder(parentView.getContext()).setTitle("Upload").setMessage("Upload " + fileName +"?") .setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface di, int arg1) { //do something here... } }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface di, int arg1) { di.dismiss(); } }).show(); } }); 

Ключ в том, что вам нужно передать контекст вашей среды приложения в диалог. Я обнаружил это, когда getApplicationContext() не удалось со странным сообщением об ошибке.