我的活动中有一个GridView。我在GridView中有2个元素。一个是ImageView和一个TextView。从适配器的主要活动中的gridview的子项目获取单击事件
我想只做点击ImageView的操作,请记住我希望在活动中发生这种情况,而不是在GridView适配器中发生。
现在我有一个适配器,我可以使用ImageView调用getView()中的click动作,但我不想那样。我希望这种情况发生闲置在那里我打电话,
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this, items));
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
//THIS WORKS FINE
String string = ((TextView) v.findViewById(R.id.text)).getText().toString();
Log.d("string",string);
//THE PROBLEM OCCURS HERE
ImageView capture = (ImageView) v.findViewById(R.id.capture);
capture.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
//的问题时这里
当我第一次点击的ImageView是应该发生的动作,不会发生。相反,它发生在第二次点击和进一步。
这就是我所困扰的问题。我想要在第一次点击时发生此操作,而不是第二次点击。
因为你有两个点击监听器里面。如果你想单独为TextView和ImageView单击,你应该使用'getView()'。 –