public void onListItemClick(ListView parent, View v, int position, long id)
{
super.onListItemClick(parent, v, position, id);
LayoutInflater inflater = (LayoutInflater)
this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View popView = inflater.inflate(R.layout.offer_popup, null, false);
final PopupWindow pw = new PopupWindow(
inflater.inflate(R.layout.offer_popup, null, false),
500,
600,
true);
pw.showAtLocation(this.findViewById(android.R.id.list), Gravity.CENTER, 0, 0);
ImageView closeimage=(ImageView) popView.findViewById(R.id.imageView2);
closeimage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
pw.dismiss();
}
});我有上面的代码,closeimage是有效的,并且存在,但是我点击了OnCLick函数没有触发的closeimage。
发布于 2012-01-11 05:55:21
我所看到的是,你创建了popView视图对象,但在PopupWindow中,你膨胀的不是你的popView,而是R.layout.offer_popup布局。之后,您将从popView获取图像对象,并将click绑定到它。该单击应该关闭与popView对象无关的PopupWindow。
发布于 2012-01-11 04:50:36
我在这段代码中看不到任何错误。也许你可以测试一下哪个元素在视图中有焦点?
还可以看看这个:Android ImageView's onClickListener does not work
致以亲切的问候,布拉姆
发布于 2012-01-11 05:54:45
也许您的onClick事件被其他视图截获。
https://stackoverflow.com/questions/8809816
复制相似问题