(android控件)ListView的Item中設置按鈕實現


前言

    在項目的開發過程中,需要Listview的Item中包含按鈕的效果。在實際開發過,Item中放置按鈕后,ListView 單行選擇背景顏色變化的效果沒有了。

 

問題原因

    ListView 和 其它能觸發點擊事件的widget無法一起正常工作的原因是加入其它widget后,ListView的itemclick事件將無法觸發,被其它widget的click事件屏蔽。

 

目前網絡上普遍的解決方式

設置1  在Item的xml模板中設置 根布局 屬性

 android:descendantFocusability= "blocksDescendants"

 

如下:

< RelativeLayout>

android:descendantFocusability= "blocksDescendants"

 

設置2 在按鈕控件<ImageButton>中設置屬性

 

android:focusable = "false"

補充:這種設置后,點擊按鈕,整條Item都響應點擊效果,顯示的效果非我們需要的

 

我們的需要的效果

1 ListView的Item本身可以選擇

2 Item中的按鈕可以隨意點擊,不會干擾Item

 

實現的過程

 在ListView中用圖片控件,或者文本控件,來代替圖片按鈕和普通按鈕,並在Adapter中設置點擊事件就可以

 如例:

 

//根據數據項,設置點擊文本框的文字,並設置點擊事件
        TextView txt_Remember=(TextView)convertView.findViewById(R.id.txt_Remember);
        
        txt_Remember.setOnClickListener(new  TextView.OnClickListener()
        {
            public void onClick(View v){
                LibListViewAdapter.this.remove(LibListViewAdapter.this.getItem(1));
                
            }
        });

 

 

 

 


 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM