當前位置:首頁 » 安卓系統 » androidlistview點擊事件

androidlistview點擊事件

發布時間: 2025-02-09 07:25:52

『壹』 Android listview的item點擊事件怎麼失效了

原因多半是由於在自己定義的Item中存在諸如ImageButton,Button,CheckBox等子控制項(也可以說是Button或者Checkable的子類控制項),此時這些子控制項會將焦點獲取到,所以常常當點擊item時變化的是子控制項,item本身的點擊沒有響應。

這時候就可以使用descendantFocusability來解決啦,API描述如下:

android:descendantFocusability

Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus.

Must be one of the following constant values.

該屬性是當一個為view獲取焦點時,定義viewGroup和其子控制項兩者之間的關系。念瞎告

屬性仔明的值有三種:

  1. beforeDescendants:viewgroup會優先其子類控制項而獲取到焦點

  2. afterDescendants:viewgroup只有當其子類控制項不需要獲取焦點時才獲取焦點

  3. blocksDescendants:viewgroup會神搏覆蓋子類控制項而直接獲得焦點

通常用到的是第三種,即在Item布局的根布局加上android:descendantFocusability=」blocksDescendants」的屬性就好了

『貳』 android 在一個listview中怎麼給每一項的button監聽點擊事件

首先你說的東西是一個誤區,不是每一項button而是list裡面的item,其次,將item進行點擊監聽,我寫一個點擊監聽的方法
mylistview = (ListView)findViewById(R.id.listview);
list.add("LinearLayout");
list.add("AbsoluteLayout");
list.add("TableLayout");
list.add("RelativeLayout");
list.add("FrameLayout");
ArrayAdapter<String> myArrayAdapter = new ArrayAdapter<String>
(this,android.R.layout.simple_list_item_1,list);
mylistview.setAdapter(myArrayAdapter);
mylistview.setOnItemClickListener(new OnItemClickListener(){

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
if(list.get(arg2).equals("LinearLayout"))
{
Intent intent = new Intent("com.wps.android.LINEARLAYOUT");
startActivity(intent);
}
if(list.get(arg2).equals("AbsoluteLayout"))
{
Intent intent = new Intent("com.wps.android.ABSOLUTELAYOUT");
startActivity(intent);
}
if(list.get(arg2).equals("TableLayout"))
{
Intent intent = new Intent("com.wps.android.TABLELAYOUT");
startActivity(intent);
}
if(list.get(arg2).equals("RelativeLayout"))
{
Intent intent = new Intent("com.wps.android.RELATIVELAYOUT");
startActivity(intent);
}
if(list.get(arg2).equals("FrameLayout"))
{
Intent intent = new Intent("com.wps.android.FRAMELAYOUT");
startActivity(intent);
}
}

});

『叄』 android listview上下滑動時為什麼不觸發點擊事件

setOnItemClickListener()
觸發的機制是,
手指點擊時會產生觸屏事件的
ACTION_DOWN,
這會根據xy坐標判斷是哪個Item被點擊,
手指提起時會觸發ACTION_UP事件,
這樣才是真正完成了整個點擊的過程,從觸發了setOnItemClickListener事件

如果
你點擊之後移動了
會觸發ACTION_MOVE事件,當手指移動超過一定距離再提起時,就不會再觸發setOnItemClickListener
事件。
希望能幫到你。

熱點內容
oppoa37怎麼給應用加密 發布:2025-07-01 12:20:53 瀏覽:641
java毫秒數 發布:2025-07-01 12:19:14 瀏覽:517
評委打分c語言 發布:2025-07-01 12:10:05 瀏覽:142
c語言中e的次方 發布:2025-07-01 12:02:23 瀏覽:176
php訪問量統計代碼 發布:2025-07-01 11:57:56 瀏覽:209
粵核酸的賬號密碼是什麼 發布:2025-07-01 11:52:41 瀏覽:209
我的世界國際版java版伺服器在哪 發布:2025-07-01 11:45:57 瀏覽:879
存儲米酒 發布:2025-07-01 11:45:13 瀏覽:985
使用openssl加密 發布:2025-07-01 11:43:54 瀏覽:546
客戶端腳本語言和伺服器腳本語言有什麼區別 發布:2025-07-01 11:42:27 瀏覽:51