androidlistview事件
❶ Android listview的item點擊事件怎麼失效了
如果ListView中的單個Item的view中存在checkbox,button等view,會導致ListView.setOnItemClickListener無效,事件會被子View捕獲到,而ListView無法捕獲處理該事件,主要原因就是焦點被listview中的checkbox等控制項佔有了
解決方法:在itme的視圖中的checkbox、button對應的view處加
android:focusable="false"
android:clickable="false"
android:focusableInTouchMode="false"
❷ android listview上下滑動時為什麼不觸發點擊事件
setOnItemClickListener()
觸發的機制是,
手指點擊時會產生觸屏事件的
ACTION_DOWN,
這會根據xy坐標判斷是哪個Item被點擊,
手指提起時會觸發ACTION_UP事件,
這樣才是真正完成了整個點擊的過程,從觸發了setOnItemClickListener事件
;
如果
你點擊之後移動了
會觸發ACTION_MOVE事件,當手指移動超過一定距離再提起時,就不會再觸發setOnItemClickListener
事件。
希望能幫到你。
❸ android listView 的點擊事件怎麼寫
你將數據解析並顯示到listView上時應該使用類似下面的方式的吧?
java">//結果數據集
List<Map<String,Object>>list=newArrayList<>();
//可能需要重寫SimpleAdapter的getView方法自定義顯示方法
SimpleAdapteradapter=newSimpleAdapter(this,list,R.layout.list,
newString[]{"title","name","age","pro","city"},
newint[]{R.id.title,R.id.name,R.id.age,R.id.pro,R.id.city});
mListView.setAdapter(adapter);
既然這樣的話,那麼就是類似下面的方法了
mListView.setOnItemClickListener(newOnItemClickListener(){
@Override
publicvoidonItemClick(AdapterView<?>parent,Viewview,intposition,longid){
//positon為點擊到的listView的索引
Map<String,Object>map=list.get(positon);
//獲取title的值
Stringtitle=(String)map.get("title");
Intentintent=newIntent(this,NewActivity.class);
intent.putExtra("title",title);
startActivity(intent);
}
});
NewActivity中通過getIntent().getStringExtra("title");獲取title的值。
❹ Android開發 關於ListView的點擊事件
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//arg0:就是你的listview arg2:點擊的item的位置。和你的數組的下標相等。arg3:被電擊view的id
所以這里你只要判斷arg2這個位置參數就能知道點擊的哪個,然後根據這個處理。
比如你上面的代碼。當這個arg2=0;那麼就是相當於點擊了你的「保密設置」這一欄。
像你這里,可以如下:
switch(arg2){
case 0://保密設置
break;
case 1://安全
break;
case 2://系統設置
......
....
}
}
});
❺ Android listview的item點擊事件怎麼失效了
點擊listView每一個item的時候沒有反應,無法獲取的焦點。可能是自定義的Item中存在諸如ImageButton,Button,CheckBox等子控制項,這些子控制項會將焦點獲取到,所以常常當點擊item時變化的是子控制項,item本身的點擊沒有響應。需要使用android:descendantFocusability屬性。這個屬性的值有三種:
beforeDescendants:viewgroup會優先其子類控制項而獲取到焦點
afterDescendants:viewgroup只有當其子類控制項不需要獲取焦點時才獲取焦點
blocksDescendants:viewgroup會覆蓋子類控制項而直接獲得焦點
通常在Item的跟布局上使用使用屬性android:descendantFocusability=「 blocksDescendants」就好了
/********************************************************/
一般組件獲取焦點的方法(兩個屬性同時使用):
View.setFocusable(true),對應xml : android:focusable="true".
View.setFocusableInTouchMode(true),對應xml : android:focusableInTouchMode="true".
❻ Android listview的item點擊事件怎麼失效了
在android裡面,點擊屏幕之後,點擊事件會根據你的布局來進行分配的,當你的ListView裡面增加了button之後,點擊事件第一優先分配給你listView裡面的button。
所以你的點擊Item就失效了,這個時候你就要根據你的需求,是給你的item的最外層layout設置點擊事件,還是給你的某個布局元素添加點擊事件了。
如果你點擊的時候涉及到一些值的問題,可以放到元素的tag中存儲,到Oclick事件中再拿出來用。
如果我的回答沒幫助到您,請繼續追問。
❼ android的listview點擊事件
接收到點擊事件後先給imageview換圖片,然後在跳轉啊
如果跳轉過快導致用戶沒注意圖片更換就換了界面,可以再imageview換圖片後sleep線程1s,這樣就有時間差了