选择某一列并更改这一列的信息

   在一个ListView里面每一列都有一个展示的内容和一个标记, 点选某一列这个标记就会显示出来
   如图:



   我采用的步骤是:


   1. 在LISTVIEW的onItemClickListener里面给自己的适配器一个标记
mobileListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {

                mobileNumListAdapter.setSelectedIndex(position);
            }
        });


   2. 在适配器代码里面如下
    //给一个默认值-1
    private int selectedIndex = -1;

    public void setSelectedIndex(int ind) {
        selectedIndex = ind;
        notifyDataSetChanged();
    }

    //当渲染的时候 比较并决定选中与否
    if (selectedIndex != position) {
           convertView.setVisibility(View.VISIBLE);
     } else {
           convertView.setVisibility(View.GONE);
     }


  

后面说的话: 当然也可以在OnItemClickListener里面实现, 考虑到这容易回导致重复渲染,觉得还是上面的办法好点(好吧 我承认我这个是瞎编的)
                    view.findViewById(R.id.mobile_item_icon).setVisibility(View.VISIBLE);
                    currentIndex = position;

猜你喜欢

转载自wxynxyo.iteye.com/blog/2228647