自己动手做了一个手机联系人通讯录,用listview充当布局,每个条目里有联系人头像,姓名,电话三项,现在我能为listview设置点击事件,但是为每个条目上的头像设置点击事件,得到的效果不是我想要的。请大家看一下局部代码:(自己纯手打代码,未抄袭任何人的)
下面是继承 BaseAdapter的代码:- private class MyAdapter extends BaseAdapter{
- //private LayoutInflater mInflater = null;
- public person person;
- public ImageView imageView;
- @Override
- public int getCount() {
- // TODO Auto-generated method stub
- return personsinfoList.size();
- }
- @Override
- public Object getItem(int position) {
-
- return position;
- }
- @Override
- public long getItemId(int position) {
- // TODO Auto-generated method stub
- return position;
- }
- @Override
- public View getView( int position, View convertView, ViewGroup parent) {
- View view = View.inflate(MainActivity.this, R.layout.it_person, null);
- TextView nameTextView = (TextView) view.findViewById(R.id.it_tv_name);
- TextView phoneTextView = (TextView) view.findViewById(R.id.it_tv_phone);
- imageView = (ImageView) view.findViewById(R.id.it_iv_image);
- person = personsinfoList.get(position);
- nameTextView.setText(person.getNameString());
- phoneTextView.setText(person.getPhoneString());
- /*if (bmp!=null) {
- imageView.setImageBitmap(bmp);
- }*/
- if (person.getTouxaingImageView()!=null) {
- imageView.setImageBitmap(person.getTouxaingImageView());
- }
-
- imageView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(getApplicationContext(), "点击的是头像图片"+person.getNameString(), Toast.LENGTH_SHORT).show();
- Toast.makeText(getApplicationContext(), "点击的是头像图片"+person.getPhoneString(), Toast.LENGTH_SHORT).show();
- Toast.makeText(getApplicationContext(), "点击的是头像图片"+person.getTouxaingImageView(), Toast.LENGTH_SHORT).show();
- namenameString=person.getNameString();
- touxiang();
- }
- });
- return view;
- }
- }
复制代码
这个代码getView中,我为头像定义了一个点击事件,显然头像点击事件定义在此处不行。
而在main方法中我定义了listview的点击事件,这个点击事件,当点击头像时不行。
我想要的是当点击某一个头像时了可以获取这个联系人的信息,界面如下,谢谢回答。
|
|