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);  
        }  
    }
  • 相关阅读:
    在linux中连接wifi
    解决Chrome插件安装时出现的“程序包无效”问题
    全网最简单明了的MySQL连接Eclipse方法(JDBC详细安装方式及简单操作)2020新版
    机器学习--机器学习的分类
    背英语单词很困难,不妨学习一下词根词缀吧(每天10个词根、词缀)Part 3
    C++课程设计详解-12306的模拟实现
    C++课程设计,12306模拟写起来就是这么粗暴
    计算机组成原理--储存器概述
    JAVA I/O 与装饰者模式UML图
    PAT-字符串处理-B 1024 科学计数法 (20分)
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4197213.html
Copyright © 2011-2022 走看看