2011-10-02 54 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();