获取ListActivity的项目

时间:2011-10-02 19:31:49

标签: java android

ListActivity始终有相应的ListView元素,对吗?那么,有没有通过索引获取列表项的方法,或者我必须使用ListView手动获取findViewById实例并从中获取项目?
修改
我想在代码中更改列表项的文本。

2 个答案:

答案 0 :(得分:2)

实现这一目标的方式与您的预期略有不同。您应该从适配器检索数据并更新它,而不是尝试获取视图并更改其文本。之后,您可能需要重置ListActivity使用的适配器。

要获取适配器,您需要先调用ListActivity.getListAdapter。获得Adapter后,您可以致电Adapter.getItem以获取特定位置的数据。

答案 1 :(得分:0)

显然,根据您的适配器,您使用不同的转换等,但作为ListActivity中ListView的示例:

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new String[] { "One", "Two", "Three" });

    // One, two, three
    setListAdapter(adapter);

    // Display "Two" (specified by index with `getItem`).
    Toast.makeText(this, "Element two is: " + (String)getListAdapter().getItem(1), Toast.LENGTH_SHORT).show();