zoukankan      html  css  js  c++  java
  • ListView Item 点击展开隐藏问题


    public class ListAdapter extends BaseAdapter {
        private Context mContext;
        private View mLastView;
        private int mLastPosition;
        private int mLastVisibility;
         
        public ListAdapter(Context context) {
            this.mContext = context;
            mLastPosition = -1;
        }
     
        @Override
        public int getCount() {
            return 30;
        }
     
        @Override
        public Object getItem(int position) {
            return null;
        }
     
        @Override
        public long getItemId(int position) {
            return 0;
        }
     
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            Holder holder;
            if(convertView == null ) {
                LayoutInflater inflater = LayoutInflater.from(mContext);
                convertView = inflater.inflate(R.layout.list_item, null);
                holder =new Holder();
                holder.textView = (TextView)convertView.findViewById(R.id.textView);
                holder.UEFAView = (ImageView)convertView.findViewById(R.id.image_uefa);
                holder.mascotView = (ImageView)convertView.findViewById(R.id.image_mascot);
                holder.hint = convertView.findViewById(R.id.hint_image);
                convertView.setTag(holder);
            } else {
                holder = (Holder) convertView.getTag();
            }
            if(mLastPosition == position){
                holder.hint.setVisibility(mLastVisibility);
            }else{
                holder.hint.setVisibility(View.GONE);
            }
            holder.textView.setText("Hello,It is " + position);
            return convertView;
        }
         
        class Holder {
            TextView textView;
            ImageView UEFAView;
            ImageView mascotView;
            View hint;
        }
         
        public void changeImageVisable(View view,int position) {
            if(mLastView != null && mLastPosition != position ) {
                Holder holder = (Holder) mLastView.getTag();
                switch(holder.hint.getVisibility()) {
                case View.VISIBLE:
                    holder.hint.setVisibility(View.GONE);
                    mLastVisibility = View.GONE;
                    break;
                default :
                    break;
                }
            }
            mLastPosition = position;
            mLastView = view;
            Holder holder = (Holder) view.getTag();
            switch(holder.hint.getVisibility()) {
            case View.GONE:
                holder.hint.setVisibility(View.VISIBLE);
                mLastVisibility = View.VISIBLE;
                break;
            case View.VISIBLE:
                holder.hint.setVisibility(View.GONE);
                mLastVisibility = View.GONE;
                break;
            }
        }
    }


    public class ListViewTestActivity extends Activity implements OnItemClickListener{
        private ListView mListView;
        private ListAdapter mAdapter;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
             
            mListView = (ListView)findViewById(R.id.list);
            mAdapter = new  ListAdapter(this);
            mListView.setAdapter(mAdapter);
            mListView.setOnItemClickListener(this);
        }
         
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {  
            mAdapter.changeImageVisable(view, position);  
        }  
    }
  • 相关阅读:
    TensorboardX的使用【有手就⭐系列】
    Python学习记录
    es 之 自定义 mapping(五)
    es 索引和文档 API (四)
    布尔查询(三)
    term 和 match 查询(二)
    使用 Python 批量将数据插入到 ES中
    【flask + vue 前后端分离博客】设计 User 用户(三)
    【flask + vue 前后端分离博客】使用 axios 访问接口(二)
    【flask + vue 前后端分离博客】创建第一个 Flask RESTFul(一)
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4197213.html
Copyright © 2011-2022 走看看