【问题标题】:Add onClickListener to listview item将 onClickListener 添加到列表视图项
【发布时间】:2011-07-29 00:30:48
【问题描述】:

我有一个缩略图和文本相邻的列表视图。 我正在尝试弄清楚如何将 onClicklistner 添加到每个列表项,以便当用户选择文本或缩略图时会弹出完整的图像。 下面是我的列表对象和适配器以及lazyAdapter 代码。

主活动:

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

懒惰适配器:

  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;
}

编辑 这就是我最终使用的。

                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();
                    }
                });

【问题讨论】:

  • 您是否有特定原因要为每个项注册侦听器?

标签: java android listview


【解决方案1】:

您可以在OnItemClickListener 中使用mStringsmImages。从您的 LazyAdapter 假设它们是数组。也许你可以试试这样的。

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);
    }
}

【讨论】:

    【解决方案2】:

    实施AdapterView.OnItemClickListener 可能对您有所帮助。

    更多信息可以在这里找到http://developer.android.com/guide/topics/ui/binding.html

    请注意,这用于 ListView 中的每一行,而不是每一行中的单个 TextView 或 ImageView。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多