2011-10-10 62 views
0

enter image description here我非常感謝這個非常棒的網站。 在這裏,我正在擴展我的Add/Remove Items to Android ListView後又一個情況。我創建一個ListView ListView listView = new ListView(context);在我的活動和我的代碼MyCustomAdapter擴展BaseAdaptor.setting這個自定義適配器到我創建的listView.setAdapter(myCustomAdpObj)對象如上。在MyCustomAdapter類的getView(..)方法我使用我的自定義佈局類,因爲MyCustomView擴展LinearLayout和MyCustomView包含像TextView ImageView等GUI組件。它意味着我有三個不同的類MyActivity,MyCustomAdapter和MyCustomView.Now在MyActivity中我想訪問像ImageView這樣的特定元素,並且想要更改其背景或src image.any幫助?更改Android ListView組件

+0

這是否正確總結你的問題裏面:「我怎樣才能改變每個列表項在我的ListView基於綁定到每個列表中的數據個人觀點項目?」 –

+0

@丹S首先是我動態地添加視圖到我的ListView.now我想在運行時更改一些項目(如ImageView背景或TextView文本等)已添加項目? – aftab

+0

你的getView()是動態添加和刪除視圖還是隻創建你的列表項?這一切都與你的活頁夾的複雜程度有關。 –

回答

0

@丹S感謝您的回答,但處理程序其工作正常。當我們調用Adapter.notifyDataSetChanged();時,需要將hanlder更新GUI。它的意思是如果notifyDataSetChanged ListView控件沒有更新然後把處理後的方法調用此方法這個notifyDataSetChanged

0

它看起來像你需要移動到SimpleAdapter或SimpleCursorAdapter(取決於您的後端數據)。從那裏使用ViewBinder,以便您可以根據數據自定義列表項目的外觀。這也是您將手動綁定數據的位置ViewBinder.setViewValue此方法將在任何自動綁定發生之前調用,因此您可以返回false以允許自動綁定發生。 (自動綁定只適用於ImageView和TextView)

+0

這意味着當我使用擴展BaseAdapter的自定義適配器時,無法更改ImageView圖像? – aftab

+0

可以使用'getView'來更改內容,但這樣做更麻煩。 –

+0

現在我能夠使用此代碼添加新的視圖到現有的ListView MyChatListBean newChatBean = chatSessionArrayList.get(index); newChatBean.setMsgStatus(statustype); \t \t chatSessionArrayList.set(index,newChatBean); ((BaseAdapter)listView.getAdapter())。notifyDataSetChanged();我還附加了一個圖像與我的主post.now問題是未來notifyDataSetChanged()不顯示新添加的圖像,但當我隱藏和顯示軟鍵盤通過點擊我的聊天屏幕上的EditText,如上圖所示。它看起來ListView不刷新或者其他?如何刷新ListView? – aftab