Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单击列表视图打开自定义对话框_Java_Android - Fatal编程技术网

Java 单击列表视图打开自定义对话框

Java 单击列表视图打开自定义对话框,java,android,Java,Android,如何在单击基本适配器的列表项时打开自定义对话框 我试图通过单击项目列表来使用代码打开自定义对话框,但得到了windowmanager的错误 public void onItemClick(AdapterView<?> arg0, View view, int position, long arg3) { int childPosition = ExpandableListView.getPackedPositionChild

如何在单击基本适配器的列表项时打开自定义对话框

我试图通过单击项目列表来使用代码打开自定义对话框,但得到了windowmanager的错误

 public void onItemClick(AdapterView<?> arg0, View view, int position,
                long arg3) {

            int childPosition = ExpandableListView.getPackedPositionChild(position);
            int tempID = childPosition;
            Log.i("tempID",""+tempID);
            Log.i("Item Clicked","Position"+position);


            //Log.i("Item Clicked","Position"+position);    

            type_dilog = new Dialog(Contacts.this);
            type_dilog.setContentView(R.layout.dialogg);

            type_dilog.setTitle(" Select the Operation ");
            Log.i("3333333333","333333333");
            TextView alert_messagee = (TextView) type_dilog.findViewById(R.id.dilog_messagee);
            alert_messagee.setVisibility(View.GONE);
            imageBtn = (Button) type_dilog.findViewById(R.id.automessage_btn);
            videoBtn = (Button) type_dilog.findViewById(R.id.ownmessage_btn);
            captuerimageBtn = (Button) type_dilog.findViewById(R.id.captureimage_btn);
            takevideoBtn = (Button) type_dilog.findViewById(R.id.takevideo_btn);
            delete = (Button) type_dilog.findViewById(R.id.delete_btn);
//              delete_no = (Button) type_dilog.findViewById(R.id.delete_no_btn);
            Log.i("44444444","4444444444");
            imageBtn.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT));
            videoBtn.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT));
            captuerimageBtn.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT));
            takevideoBtn.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT));
            delete.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT));

            delete.setVisibility(View.GONE);

            imageBtn.setText("Photo Library");
            videoBtn.setText("Video Library");
            captuerimageBtn.setText("Take Picture");
            takevideoBtn.setText("Take Video");


            type_dilog.show();

}





02-25 17:09:55.040: E/AndroidRuntime(27697): android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@41d9af60 is not valid; is your activity running?
public void onItemClick(适配器视图arg0,视图视图,int位置,
长arg3){
int childPosition=ExpandableListView.getPackedPositionChild(位置);
int tempID=子位置;
Log.i(“tempID”和“+tempID”);
Log.i(“点击项目”、“位置”+位置);
//Log.i(“点击项目”、“位置”+位置);
键入_dilog=新建对话框(Contacts.this);
键入_dilog.setContentView(R.layout.dialogg);
键入_dilog.setTitle(“选择操作”);
日志i(“3333”、“333333”);
TextView警报\消息=(TextView)类型\ dilog.findViewById(R.id.dilog \消息);
alert_messagee.setVisibility(View.GONE);
imageBtn=(按钮)类型_dilog.findviewbyd(R.id.automessage_btn);
videoBtn=(按钮)类型为\u dilog.findviewbyd(R.id.ownmessage\u btn);
captuerimageBtn=(按钮)类型_dilog.findViewById(R.id.captureimage_btn);
takevideoBtn=(按钮)类型_dilog.findviewbyd(R.id.takevideo_btn);
delete=(按钮)键入_dilog.findviewbyd(R.id.delete_btn);
//delete_no=(按钮)类型_dilog.findviewbyd(R.id.delete_no_btn);
Log.i(“4444”、“4444”);
imageBtn.setLayoutParams(新的LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL\u父项,LinearLayout.LayoutParams.WRAP\u内容));
videoBtn.setLayoutParams(新的LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL\u父项,LinearLayout.LayoutParams.WRAP\u内容));
captuerimageBtn.setLayoutParams(新的LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL\u父项,LinearLayout.LayoutParams.WRAP\u内容));
takevideoBtn.setLayoutParams(新的LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL\u父项,LinearLayout.LayoutParams.WRAP\u内容));
delete.setLayoutParams(新的LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_父项,LinearLayout.LayoutParams.WRAP_内容));
delete.setVisibility(View.GONE);
imageBtn.setText(“照片库”);
videoBtn.setText(“视频库”);
captuerimageBtn.setText(“拍照”);
takevideoBtn.setText(“拍摄视频”);
键入_dilog.show();
}
02-25 17:09:55.040:E/AndroidRuntime(27697):android.view.WindowManager$BadTokenException:无法添加窗口--标记android.app.LocalActivityManager$LocalActivityRecord@41d9af60无效;你的活动正在进行吗?
02-25 17:09:55.040:E/AndroidRuntime(27697):在android.view.ViewRootImpl.setView(ViewRootImpl.java:683) 02-25 17:09:55.040:E/AndroidRuntime(27697):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:301) 02-25 17:09:55.040:E/AndroidRuntime(27697):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215) 02-25 17:09:55.040:E/AndroidRuntime(27697):在android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140) 02-25 17:09:55.040:E/AndroidRuntime(27697):在android.view.Window$LocalWindowManager.addView(Window.java:537) 02-25 17:09:55.040:E/AndroidRuntime(27697):在android.app.Dialog.show(Dialog.java:278)上 02-25 17:09:55.040:E/AndroidRuntime(27697):在dev.zoemultiline.Contacts$ContactsAdapter$1.onClick(Contacts.java:311) 02-25 17:09:55.040:E/AndroidRuntime(27697):在android.view.view.performClick(view.java:3567)上 02-25 17:09:55.040:E/AndroidRuntime(27697):在android.view.view$PerformClick.run(view.java:14224) 02-25 17:09:55.040:E/AndroidRuntime(27697):在android.os.Handler.handleCallback(Handler.java:605)上 02-25 17:09:55.040:E/AndroidRuntime(27697):在android.os.Handler.dispatchMessage(Handler.java:92)上 02-25 17:09:55.040:E/AndroidRuntime(27697):在android.os.Looper.loop(Looper.java:137) 02-25 17:09:55.040:E/AndroidRuntime(27697):位于android.app.ActivityThread.main(ActivityThread.java:4517) 02-25 17:09:55.040:E/AndroidRuntime(27697):位于java.lang.reflect.Method.Invokenactive(本机方法) 02-25 17:09:55.040:E/AndroidRuntime(27697):位于java.lang.reflect.Method.invoke(Method.java:511) 02-25 17:09:55.040:E/AndroidRuntime(27697):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993) 02-25 17:09:55.040:E/AndroidRuntime(27697):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)上 02-25 17:09:55.040:E/AndroidRuntime(27697):在dalvik.system.NativeStart.main(本机方法)

上面是要打开自定义对话框时单击onItemClick时出现的Log cat错误


我写类型_dilog=newdialog(getParent());而不是键入_dilog=新建对话框(Contacts.this);它解决了我的问题

实现onitemselectedlistener,为您的问题获得更好的结果。

它将如何解决他的问题?他提到他正在使用Spinner吗?我正在使用基本适配器onitemclick,我能够获取值或位置,但无法打开对话框OnItemSelectedListener对我没有帮助,我正在获取设备中所有联系人的列表我已经尽了一切努力在自定义dialo上显示详细信息,但无法做到,请帮助我完成此操作,我编写type_dilog=new Dialog(getparent());而不是键入_dilog=新建对话框(Contacts.this);它解决了这个问题