如何将 ArrayList 数据设置到 ListView?
Posted
技术标签:
【中文标题】如何将 ArrayList 数据设置到 ListView?【英文标题】:How to set the ArrayList data in to the ListView? 【发布时间】:2011-11-09 01:15:02 【问题描述】:我在 ArrayList 中有数据,例如:
[android_metadata, test1, test5, test4, test2, test3, test10, test1002, abcd, zxy, re, test1001, testing, test21, test12]
现在我想将这些数据设置到 android 的 ListView 中。 请在这件事上帮助我。 我见过很多例子。但是我是否必须实现 getter setter 类来存储数据并将其显示到 ListView 中? 我只需在列表视图中显示数据列表上方并设置其 ClickEvent。 请给我一些代码来完成这样的实现。
【问题讨论】:
【参考方案1】:试试这个代码
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class Start extends Activity
private String[] lv_arr = ;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Get a handle to the list view
ListView lv = (ListView) findViewById(R.id.ListView01);
// Convert ArrayList to array
lv_arr = (String[]) arrayList.toArray();
lv.setAdapter(new ArrayAdapter<String>(Start.this,
android.R.layout.simple_list_item_1, lv_arr));
【讨论】:
【参考方案2】:这就是例子
ArrayList yourlist = new ArrayList();
ArrayAdapter adapter = new ArrayAdapter<String>(context,android.R.layout.simple_list_item_1, yourlist);
yourlistview.setAdapter(adapter);
【讨论】:
【参考方案3】:作为对 Balaji.K 答案的补充,您不需要 String[]
数组。
您可以直接使用 ArrayAdapter 将 ArrayList 附加到 ListView:
private ArrayList<String> arrayList = Arrays.asList("android_metadata", "test1", "test5", "test4", /*...*/ "test21", "test12");
ListView lv = (ListView) findViewById(R.id.list_view);
lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arrayList));
【讨论】:
以上是关于如何将 ArrayList 数据设置到 ListView?的主要内容,如果未能解决你的问题,请参考以下文章
wpf,我给一个textbox的text绑定到一个listv.selectionitem.path,
如何将特定数据字段从 ArrayList 加载到某些 JTextFields?