我在 ListView 上有一个按钮,我想点击它,但问题是点击时,目前它无法识别监听器调用是 ListView 还是按钮,
提前致谢...:)
最佳答案
如果您不想处理对整个列表项的点击,请不要在 ListView 上设置监听器。您可以为列表项的单个 View 设置监听器,如下例所示:
public class MyArrayAdapter extends ArrayAdapter<Map<String, String>> {
private Context mContext;
public MyArrayAdapter(Context context, int textViewResourceId,
List<Map<String, String>> objects) {
super(context, textViewResourceId, objects);
mContext = context;
}
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(
R.layout.list_row, null, false);
}
final Map<String, String> data = (Map<String, String>) getItem(position);
ImageView imageView = (ImageView) convertView
.findViewById(R.id.imageView);
imageView.setImageResource(Integer.parseInt(data.get("image")));
TextView textView = (TextView) convertView
.findViewById(R.id.textViewTitle);
textView.setText(data.get("name"));
Button button = (Button) convertView
.findViewById(R.id.buttonShow);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mContext.startActivity(new Intent(mContext,
DetailActivity.class).putExtra(EXTRA_IMAGE_URL,
data.get("url")));
}
});
return convertView;
}
}
关于android - 我如何调用驻留在 ListView 项目中的按钮的 onclick 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15941374/