从活动中获取ListView并以编程方式填充XML字符串数组

时间:2012-06-01 10:29:53

标签: android xml listview android-layout

我在找出一些应该非常容易和直接的事情时遇到了一些麻烦。我有一个活动,其中有一些视图包括当前未填充的ListView。

如何以编程方式获取对该ListView的引用,然后设置项目,每个项目都是TextView,其内容是XML String-Array项目?

获取参考我想是这样的:

ListView incomeList = (ListView) findViewById(R.id.incomeList);

此外,我在strings.xml中有一个代码(想用这个数组填充列表):

<string-array name="testArray">
   <item>Item1</item>
   <item>Item2</item>
   <item>Item3</item>
   <item>Item4</item>
   <item>Item5</item>
</string-array>

然后最后我有这个其他布局xml文件,我应该根据那里的所有tuts。 list_item.xml

<?xml version="1.0" ebcoding="utf-8">
<TextView xmlns:android="blablabla..."
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:padding="10dp"
   android:textSize="16sp"
</TextView>

如果ListView是您活动中唯一的View,我在网上关注的所有教程都会有所帮助。在我的情况下,我有很多观点,包括按钮,文本视图等等(如果这可能有助于了解)。我也使用ListActivity扩展我的类,或者因为我有其他视图,只需使用Activity ??

正常扩展

谢谢!

1 个答案:

答案 0 :(得分:3)

您无需扩展ListActivity。只需延长定期活动。

步骤:

A)获取ListView。你在问题中做得对。

B)创建一个ArrayAdapter。您必须传递一个Context(如果您在Activity上执行,传递该Activity),一个表示Layout的int,它只包含一个TextView(就像您的问题中的那个),以及一个包含您需要的所有项目的String []。

应该是这样的:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, getResources().getStringArray(R.array.testArray);

C)lv.setAdapter(适配器);

非常简单。