onClickListener添加到列表视图项 [英] Add onClickListener to listview item

查看:122
本文介绍了onClickListener添加到列表视图项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个缩略图和文字的列表视图彼此相邻。 我试图找出如何在onClicklistner所以当用户选择文本或缩略图完整的图像就会弹出添加到每个项目。下面是我的列表对象和适配器和lazyAdapter code。

MainActivity:

 列表=(ListView控件)findViewById(R.id.list);
适配器=新LazyAdapter(这一点,mStrings,mImages);
list.setAdapter(适配器);

LazyAdapter:

 公共查看getView(INT位置,查看convertView,父母的ViewGroup){
        查看VI = convertView;
        如果(convertView == NULL)
            VI = inflater.inflate(R.layout.item,NULL);    TextView的文本=(TextView的)vi.findViewById(R.id.text);;
    ImageView的图像=(ImageView的)vi.findViewById(R.id.image);
    text.setText(IMAGE_NAME [位置]);
    imageLoader.DisplayImage(数据[位置],活动图像);
    返回VI;
}

编辑
这是我最终使用。

  list.setOnItemClickListener(新OnItemClickListener(){
                    公共无效onItemClick(适配器视图<>为arg0,ARG1观,诠释ARG2,长ARG3){
                        Toast.makeText(MainActivity.this显示完整图片,Toast.LENGTH_LONG).show();
                    }
                });


解决方案

您可以使用 mStrings mImages 中你的 OnItemClickListener 。从LazyAdapter他们是阵列承担。也许你可以尝试这样的事情。

  list.setOnItemClickListener(新OnItemClickListener(){
    公共无效onItemClick(适配器视图<>母公司,视图V,INT位置,长的id){
        字符串文本= mStrings [位置]
        YourImageClass IMG = mImages [位置]
        意图I =新意图(MainActivity.this,ShowFullImageActivity.class);
        i.putExtra(TEXT,文本);
        i.putExtra(图像,IMG); //< - 以为你形象Parcelable
        startActivity(ⅰ);
    }
}

I have a list view of a thumbnail and text next to each other. I am trying to figure out how to add a onClicklistner to each list item so when the user selects the text or thumbnails the full image will pop up. Below is my list object and adapter and the lazyAdapter code.

MainActivity:

list=(ListView)findViewById(R.id.list);
adapter=new LazyAdapter(this, mStrings, mImages);
list.setAdapter(adapter);

LazyAdapter:

  public View getView(int position, View convertView, ViewGroup parent) {
        View vi=convertView;
        if(convertView==null)
            vi = inflater.inflate(R.layout.item, null);

    TextView text=(TextView)vi.findViewById(R.id.text);;
    ImageView image=(ImageView)vi.findViewById(R.id.image);
    text.setText(image_name[position]);
    imageLoader.DisplayImage(data[position], activity, image);
    return vi;
}

EDIT THis is what I ended up using.

                list.setOnItemClickListener(new OnItemClickListener() {
                    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3){
                        Toast.makeText(MainActivity.this, "Show Full Image", Toast.LENGTH_LONG).show();
                    }
                });

解决方案

You can use mStrings and mImages in your OnItemClickListener. Assumed from your LazyAdapter that they are arrays. Maybe you can try something like this.

list.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        String text = mStrings[position];
        YourImageClass img = mImages[position];
        Intent i = new Intent(MainActivity.this, ShowFullImageActivity.class);
        i.putExtra("TEXT", text);
        i.putExtra("IMAGE", img); // <-- Assumed you image is Parcelable
        startActivity(i);
    }
}

这篇关于onClickListener添加到列表视图项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆