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有效,并且存在,但是我单击closeimage时未触发OnCLick函数。

最佳答案

我看到的是您创建了popView View对象,但是将其中的R.layout.offer_popup布局充气到PopupWindow中,而不是popView。
之后,您将从popView获取Image对象并将其绑定单击。该单击将关闭与popView对象无关的PopupWindow。

10-05 18:17