1. 程式人生 > >關於ListView中Item點選事件,動態改變Item中控制元件屬性

關於ListView中Item點選事件,動態改變Item中控制元件屬性

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控制元件的屬性了。