我在ArrayList中有数据,如:
[android_metadata, test1, test5, test4, test2, test3, test10, test1002, abcd, zxy, re, test1001, testing, test21, test12]
现在我想将这些数据设置到android中的ListView中。 请帮我解决这个问题。 我见过很多例子。但是我是否必须实现getter setter类来存储数据并将其显示到ListView中? 我只需要在List View中显示数据列表并设置其ClickEvent。 请给我一些代码来完成这样的实现。
答案 0 :(得分:14)
试试这段代码
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));
}
}
答案 1 :(得分:6)
这是示例
ArrayList yourlist = new ArrayList();
ArrayAdapter adapter = new ArrayAdapter<String>(context,android.R.layout.simple_list_item_1, yourlist);
yourlistview.setAdapter(adapter);
答案 2 :(得分:0)
作为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));