(android控制項)ListView的Item中設定按鈕實現

來源:互聯網
上載者:User
文章目錄
  • 前言
  • 問題原因
前言

    在項目的開發過程中,需要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));                            }        });

 

效果:

 

 

附:

《科學背單詞-四級版》安卓市場:http://static.apk.hiapk.com/html/2012/07/719368.html

 


 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.