android - 从 Activity 获取 ListView 并以编程方式填充 XML 字符串数组

标签 android xml listview android-layout

我在想出一些应该非常简单直接的东西时遇到了一些麻烦。我有一个 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/

相关文章:

java - 如何使用 Android Java 录制直播?

android - 从 xml 和每个 fragment 中膨胀 sherlock 操作栏菜单

android - 将一个 Android JSON 应用程序迁移到 Android 中的一个简单应用程序

android - 默认的 Android Studio 抽屉导航图标

java - 从 Android 中的 Listview Adapter 访问 Activity 中的 TextView

android - 删除数据库行后刷新自定义游标适配器

android - LG Nexus 5X 在 Windows 10 上的 Android Studio 中看不到

javascript - Android 3.x 仅限 WebView 文本选择 + JavaScript

xml - xQuery 更改节点层次结构(从一个节点中删除子节点并将其作为兄弟节点返回)

Android ListView 问题。不会显示添加的 View