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);
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) findViewById(R.id.imageView2);
closeimage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
pw.dismiss();
}
});
offer_popup.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:theme="@android:style/Theme.Dialog"
android:orientation="vertical" android:weightSum="1">
<RelativeLayout android:layout_width="fill_parent"
android:id="@+id/relativeLayout_popup"
android:layout_height="wrap_content" android:layout_weight="0.65">
<ImageView android:layout_width="wrap_content"
android:src="@drawable/node_largeview_black"
android:layout_height="wrap_content"
android:id="@+id/imageView1"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="61dp"></ImageView>
<ImageView android:id="@+id/imageView2"
android:layout_height="wrap_content"
android:src="@drawable/close_button"
android:layout_width="wrap_content"
android:layout_alignTop="@+id/imageView1"
android:layout_alignRight="@+id/imageView1"></ImageView>
</RelativeLayout>
</LinearLayout>
我有一个 ListView ,如果我单击其中一个项目行,将使用 offer_popup.xml 创建一个弹出窗口,在这个 xml 中,有一个 imageView2 id,它是一个关闭图像,然后单击它,弹出窗口将解雇。
但是,程序崩溃了 closeimage=null。
最佳答案
View popView = inflater.inflate(R.layout.offer_popup, null, false);
final PopupWindow pw = new PopupWindow(popView
,
500,
600,
true);
ImageView closeimage=(ImageView) popView.findViewById(R.id.imageView2);
将您的代码更改为上面的代码,如果它不是主布局的一部分,则需要为图像提供父级引用才能找到它。
关于android - 单击图像时关闭弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8799769/