有一个超级简单的List / ListAdapter例子在那里为Android

我有一个Web服务,返回一个超级简单的对象列表

MyObject [] data = webServiceCall();

MyObject有1个字段,我想显示"Name" (即data[0].Name

我怎样才能把这个变成一个活动,只列出这些对象在Android上的可滚动listActivity的名称。 我真的很困惑与游标,我不知道如果我需要游标,我不知道什么样的适配器来实现( BaseAdapterSimpleAdapter等)

所以我想我正在寻找三件事情,

活动,适配器和layout.xml

试图找出这个android的东西了,绝对是一个noob在这里

Solutions Collecting From Web of "有一个超级简单的List / ListAdapter例子在那里为Android"

所以我想我从RobGThai的答案中find了一点灵感,我发布了其他人看到的代码,我想我没有真正使用自定义适配器

这是让我开始的超级简单的例子,所以一旦我有了这个,我确信我的“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> 

让你的Activity扩展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文档。

当用户单击一个ListItem时,您还可以将AlertDialog附加到ListView 。 我在下面包括一个工作代码,以防有人正在尝试相同的事情,

 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()失败时出现了一个奇怪的错误信息。