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控件的属性了。