我在想出一些应该非常简单直接的东西时遇到了一些麻烦。我有一个 Activity ,其中有一些 View 包括当前未填充的 ListView。
如何以编程方式获取对该 ListView 的引用,然后设置项目,每个项目都是一个 TextView,其内容是 XML 字符串数组项目?
获取引用我想是这样的:
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,我应该拥有它。列表项.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 是您 Activity 中的唯一 View ,那么我在网络上遵循的所有教程都会有所帮助。而在我的例子中,我有很多 View ,包括按钮、 TextView 等(如果这可能有助于了解)。另外,我是用 ListActivity 扩展我的类,还是因为我在其中有其他 View ,所以只需用 Activity 正常扩展?
最佳答案
您不需要扩展 ListActivity。只需延长常规 Activity 即可。
步骤:
A) 获取您的 ListView。你在你的问题上做得对。
B) 创建一个 ArrayAdapter。您必须传递一个 Context(如果您在 Activity 上执行此操作,则传递该 Activity),一个表示仅包含 TextView 的 Layout(如您问题中的那个)的 int,以及一个包含您需要的所有项目的 String[]。
应该是这样的:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, getResources().getStringArray(R.array.testArray);
C) lv.setAdapter(适配器);
非常简单。
关于android - 从 Activity 获取 ListView 并以编程方式填充 XML 字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848663/