我有一个缩略图和文本的列表视图,彼此相邻。 我试图找出如何为每个列表项添加onClicklistner,以便当用户选择文本或缩略图时,将弹出完整的图像。下面是我的列表对象和适配器以及lazyAdapter代码。
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 这就是我最终使用的。
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();
}
});
答案 0 :(得分:4)
您可以在mStrings
中使用mImages
和OnItemClickListener
。从您的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);
}
}
答案 1 :(得分:2)
有什么可以帮助您实施AdapterView.OnItemClickListener
。
可在此处找到更多信息http://developer.android.com/guide/topics/ui/binding.html。
请注意,这用于ListView中的每一行,而不是每行中的单独TextView或ImageView。