1. 程式人生 > >點選listView條目,給點中條目加上上下邊框(變換背景),item佈局控制元件的點選事件

點選listView條目,給點中條目加上上下邊框(變換背景),item佈局控制元件的點選事件

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();
            }
        });

–>路要一步一步走,記住自己走過的路,不再犯同樣的錯誤,才是真正的成長!歡迎指點、交流。<–