2011-10-02 56 views
2

ListActivity总有对应的ListView元素,对吧?那么,有没有办法通过索引获取列表项,或者我必须使用findViewById手动获取ListView实例并从中获取项目?
编辑:
我想更改代码中的列表项的文本。获取ListActivity的项目

回答

2

有关这方面的方法与您所期望的有点不同。您应该从适配器中检索数据并更新它,而不是尝试获取视图并更改其文本。之后,您可能需要重置ListActivity使用的适配器。

要获得适配器,您需要先拨打ListActivity.getListAdapter。一旦你有了Adapter,你可以拨打Adapter.getItem来获取特定位置的数据。

+0

请提供的我怎么能在特定改变的项目文本的示例位置。 –

+0

TextView tv =(TextView)view.findViewById(R.id.label); tv.setText(“your text”); – ciscogambo

+0

我已将更多详细信息添加到我的答案中。我会尽力解决添加代码示例。如果你也发布了一些代码,它会有所帮助。 – elevine

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();