點選listView條目,給點中條目加上上下邊框(變換背景),item佈局控制元件的點選事件
阿新 • • 發佈:2019-01-06
1–>點選listView條目,給條目加上上下邊框,如圖:
deliveryAddAdapter.setSelectIndex(position);
deliveryAddAdapter.notifyDataSetInvalidated();
deliveryAddAdapter.notifyDataSetChanged();
前提是在adapter設定成員變數,且生成set方法,private int selectIndex = -1;
public void setSelectIndex(int selectIndex) {
this.selectIndex = selectIndex;
}
然後在getview方法中判斷
if(selectIndex==i){
//選中設定可見,勾中 vh.select_img.setImageResource(R.mipmap.select_yes);
vh.line_top.setVisibility(View.VISIBLE);
vh.line_bottom.setVisibility(View.VISIBLE);
lastSelect = i ;
}else{
//其他不可見,不勾中 vh.select _img.setImageResource(R.mipmap.select_no);
vh.line_top.setVisibility(View.INVISIBLE);
vh.line_bottom.setVisibility(View.INVISIBLE);
}
關鍵是deliveryAddAdapter.notifyDataSetInvalidated();
這兩句程式碼。
deliveryAddAdapter.notifyDataSetChanged();
2 –>操作listview中item佈局裡的控制元件,點選事件寫在自定義adapter裡,在getView中設定item佈局中子控制元件點選事件即可,
//事件
vh.edit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(context, ":edit_img", Toast.LENGTH_SHORT).show();
}
});
vh.delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(context, "delete", Toast.LENGTH_SHORT).show();
}
});
–>路要一步一步走,記住自己走過的路,不再犯同樣的錯誤,才是真正的成長!歡迎指點、交流。<–