我有一個自定義ListView設置與自定義ArrayAdapter。 一行由10個按鈕組成。點擊按鈕後,我無法更改按鈕標題。在getView方法中,我爲所有按鈕放置一個持有者。 的點擊監聽器是主要的活動,它工作正常(我這樣認爲),我能夠獲得按鈕的參考:在Android中更改ListView中的按鈕的文本
MyHolder h = (MyHolder) getListView().getAdapter().getView(position, null, null).getTag();
Button b = h.myButton;
現在,當我打電話b.getText() ,它給了我點擊按鈕的文本。 但是,當我嘗試:b.setText(「xxx」);該按鈕的文本不會更改。
有什麼想法?
這是工作,謝謝!但我的問題並沒有完全解決。當我按下第一個按鈕時,我需要更改我排的第一個和第二個按鈕的文本。我如何獲得對我行中其他按鈕的引用? – Dusan
您可以使用每個Button的'setTag()'在適配器的'getView()'中保存對匹配Button的引用,或者使用'getParent()'和'getChildAt()'來查找匹配的Button。 – Sam