程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-expandlistview 如何獲取childItem裡的Button

android-expandlistview 如何獲取childItem裡的Button

編輯:編程綜合問答
expandlistview 如何獲取childItem裡的Button
  1. 我想在activity裡獲取到這個Button
  2. 給他設置點擊監聽 實現activity的跳轉

最佳回答:


【我想在activity裡獲取到這個Button】 這樣的設計初衷是有問題的,因為button是多個的,獲取的是哪一個呢?
所正確的做法是在 ExpandableListAdapter中 getChildView中 通過findViewById來的到button之後再對button設置listenner.
比如:
getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
if (convertView == null) {
創建convertView
}

Button button = convertView.findViewById(R.id.button);
button.setOnClickListenner(new View.OnClickListenner() {
        onClicke(View v) {
            書寫你的代碼
        }
    }
);

}

當然這裡也可以使用Holder的方式來獲取button.大同小異。

如果你的使用方式是上面的 那就可以解決你的問題。

但是 也可能你的需求 就是要獲取某個button進行特殊的處理,那麼這種特殊的需求,需要特殊處理。
你需要對button設置Tag.

也就是在 getChildView中 得到button後使用 button.setTag(buttonTag),然後在Activity中使用ExpandListView.findViewByTag(buttonTag) 來獲取。

希望對你有所幫助

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved