我有一个缩略图和彼此相邻的文本的 ListView 。 我想弄清楚如何向每个列表项添加一个 onClicklistner,这样当用户选择文本或缩略图时,完整的图像就会弹出。下面是我的列表对象和适配器以及 lazyAdapter 代码。
主要 Activity :
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();
}
});
最佳答案
您可以在 OnItemClickListener
中使用 mStrings
和 mImages
。从您的 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);
}
}
关于java - 将 onClickListener 添加到 ListView 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6867372/