码迷,mamicode.com
首页 > 其他好文 > 详细

Listview 点击事件处理 其他

时间:2016-03-14 12:08:49      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

public class MainActivity extends Activity {

    private ListView lv1;
    private ListView lv2;
    private List<String> mList;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mList = new ArrayList<String>();
        for (int i = 0; i < 20; i++) {
            mList.add(new String("可点击的tv--" + i));
        }
        //**************************************************************************************************************************
        lv1 = (ListView) findViewById(R.id.lv1);
        lv1.setAdapter(new MyAdapter());
        lv1.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(MainActivity.this"onItemClick,position=" + position + ",id=" + id, 0).show();
            }
        });
        //**************************************************************************************************************************
        //给ListView添加头尾
        lv2 = (ListView) findViewById(R.id.lv2);
        TextView mTextView = new TextView(this);
        mTextView.setText("我是【先】添加的的头部");
        mTextView.setBackgroundColor(0xff4EEE94);
        ImageView mImageView = new ImageView(this);
        mImageView.setImageResource(R.drawable.ic_launcher);
        lv2.addHeaderView(mTextView);//添加以后,listView 的position = 0 的位置对应的是此mTextView
        lv2.addHeaderView(mImageView);//注意:所有添加的header和footer的id都是-1,position的值和普通item规则一致。
        lv2.setHeaderDividersEnabled(true);//控制头部是否显示分割线。默认为true
        lv2.setAdapter(new MyAdapter());//addHeaderView要放在setAdapter之前,而addFooterView放在前后都可以
        //最后加一个透明的控件,那么最后那条分割线【可能】就出来了,这是解决某些分割线不能正常显示的一个方法
        View footerView = new View(this);
        LayoutParams layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, 50);
        footerView.setBackgroundColor(0x00112233);//透明
        footerView.setLayoutParams(layoutParams);
        lv2.addFooterView(footerView);//
        lv2.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(MainActivity.this"onItemClick,position=" + position + ",id=" + id, 0).show();
            }
        });
    }
    //*************************************************************************************************************************
    private class MyAdapter extends BaseAdapter {
        @Override
        public int getCount() {
            return mList.size();
        }
        @Override
        public Object getItem(int position) {
            return mList.get(position);
        }
        @Override
        public long getItemId(int position) {
            return position;
        }
        @Override
        public View getView(int position, View view, ViewGroup parent) {
            //简化起见,这里没有使用viewholder
            if (view == null) view = LayoutInflater.from(MainActivity.this).inflate(R.layout.itemnull);
            //按钮
            Button index = (Button) view.findViewById(R.id.index);
            index.setText(position + "");
            index.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View position) {
                    Toast.makeText(MainActivity.this"控件的onClick," + position, 0).show();
                }
            });
            //可点击的TextView
            TextView name = (TextView) view.findViewById(R.id.name);
            name.setText(mList.get(position));
            name.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View position) {
                    Toast.makeText(MainActivity.this"控件的onClick," + position, 0).show();
                }
            });
            return view;
        }
    }
}






附件列表

     

    Listview 点击事件处理 其他

    标签:

    原文地址:http://www.cnblogs.com/baiqiantao/p/5274976.html

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!