關於ListView中Item點選事件,動態改變Item中控制元件屬性
阿新 • • 發佈:2019-02-01
ListView中的Item事件點選不了,怎麼辦?
由於要設定ListView的Item點選事件來改變控制元件屬性,設定的時候發現Item無法點選,原因之一是給Item中的控制元件添加了屬性android:clickable=”true”使Item不響應點選事件了。解決辦法去點android:clickable=”true”即可。
<LinearLayout
android:id="@+id/ll_bank_select"
android:clickable="true"
android:layout_width ="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical" >
在ListView中怎樣動態改變Item中控制元件的屬性?
你一定會說設定ItemClickListener,不僅僅是這些。需要在Adapter中進行設定
public void changeSelected(int positon){ //重新整理方法
if(positon != mSelect){
mSelect = positon;
notifyDataSetChanged();
}
}
if(mSelect==position){
iv_checkState.setVisibility(View.VISIBLE);
//v.setBackgroundResource(R.drawable.fc_bg); //選中項背景
}else{
iv_checkState.setVisibility(View.GONE);
// v.setBackgroundResource(R.drawable.bg); //其他項背景
}
return linearlayout;
這樣就完成了介面卡中的設定。
在主程式碼中需要設定:
//點選監聽
lv_BankCard.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
bankAdapter.changeSelected(position);//重新整理
System.out.println("_______________點選了");
}
});
這樣就可以動態的改變Item控制元件的屬性了。