ali_khodayar
چهارشنبه 29 بهمن 1393, 10:18 صبح
با سلام. دارم در یکی از فرم های برنامم یک dialog box رو نمایش میدم. اما هنگامی که به خط dialog.show(); میرسه برنامه کرش میکنه.
مشکل کارم کجاست
این از کد برنامم
Button SaveButton = (Button) view.findViewById(R.id.buttonSave); SaveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
onSavedPressed();
final Dialog dialog= new Dialog( getActivity().getApplicationContext());
dialog.setContentView(R.layout.fragment_read_singl e_custom_dialog);
dialog.setTitle("Enter your Reserves");
EditText txtReserve1,txtReserve2,txtReserve3;
Button btnSave;
txtReserve1= (EditText) dialog.findViewById(R.id.etReadSingleCustomeDialog Reserve1);
txtReserve2= (EditText) dialog.findViewById(R.id.etReadSingleCustomeDialog Reserve2);
txtReserve3= (EditText) dialog.findViewById(R.id.etReadSingleCustomeDialog Reserve3);
btnSave= (Button) dialog.findViewById(R.id.btReadSingleCustomeDialog Save);
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(context, "click reserve", Toast.LENGTH_LONG).show();
dialog.dismiss();
}
});
dialog.show();
}
});
این هم از لاگ برنامه :
02-18 11:04:24.577: E/AndroidRuntime(31522): FATAL EXCEPTION: main02-18 11:04:24.577: E/AndroidRuntime(31522): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application02-18 11:04:24.577: E/AndroidRuntime(31522): at android.view.ViewRootImpl.setView(ViewRootImpl.jav a:656)02-18 11:04:24.577: E/AndroidRuntime(31522): at android.view.WindowManagerImpl.addView(WindowManag erImpl.java:328)02-18 11:04:24.577: E/AndroidRuntime(31522): at android.view.WindowManagerImpl.addView(WindowManag erImpl.java:226)02-18 11:04:24.577: E/AndroidRuntime(31522): at android.view.WindowManagerImpl$CompatModeWrapper.a ddView(WindowManagerImpl.java:151)02-18 11:04:24.577: E/AndroidRuntime(31522): at android.app.Dialog.show(Dialog.java:277)02-18 11:04:24.577: E/AndroidRuntime(31522): at ir.saa.samin.ReadSingleFragment$4.onClick(ReadSing leFragment.java:301)02-18 11:04:24.577: E/AndroidRuntime(31522): at android.view.View.performClick(View.java:4091)02-18 11:04:24.577: E/AndroidRuntime(31522): at android.view.View$PerformClick.run(View.java:17072 )02-18 11:04:24.577: E/AndroidRuntime(31522): at android.os.Handler.handleCallback(Handler.java:615 )02-18 11:04:24.577: E/AndroidRuntime(31522): at android.os.Handler.dispatchMessage(Handler.java:92 )02-18 11:04:24.577: E/AndroidRuntime(31522): at android.os.Looper.loop(Looper.java:153)02-18 11:04:24.577: E/AndroidRuntime(31522): at android.app.ActivityThread.main(ActivityThread.jav a:4987)02-18 11:04:24.577: E/AndroidRuntime(31522): at java.lang.reflect.Method.invokeNative(Native Method)02-18 11:04:24.577: E/AndroidRuntime(31522): at java.lang.reflect.Method.invoke(Method.java:511)02-18 11:04:24.577: E/AndroidRuntime(31522): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:821)02-18 11:04:24.577: E/AndroidRuntime(31522): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:584)02-18 11:04:24.577: E/AndroidRuntime(31522): at dalvik.system.NativeStart.main(Native Method)
مشکل کارم کجاست
این از کد برنامم
Button SaveButton = (Button) view.findViewById(R.id.buttonSave); SaveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
onSavedPressed();
final Dialog dialog= new Dialog( getActivity().getApplicationContext());
dialog.setContentView(R.layout.fragment_read_singl e_custom_dialog);
dialog.setTitle("Enter your Reserves");
EditText txtReserve1,txtReserve2,txtReserve3;
Button btnSave;
txtReserve1= (EditText) dialog.findViewById(R.id.etReadSingleCustomeDialog Reserve1);
txtReserve2= (EditText) dialog.findViewById(R.id.etReadSingleCustomeDialog Reserve2);
txtReserve3= (EditText) dialog.findViewById(R.id.etReadSingleCustomeDialog Reserve3);
btnSave= (Button) dialog.findViewById(R.id.btReadSingleCustomeDialog Save);
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(context, "click reserve", Toast.LENGTH_LONG).show();
dialog.dismiss();
}
});
dialog.show();
}
});
این هم از لاگ برنامه :
02-18 11:04:24.577: E/AndroidRuntime(31522): FATAL EXCEPTION: main02-18 11:04:24.577: E/AndroidRuntime(31522): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application02-18 11:04:24.577: E/AndroidRuntime(31522): at android.view.ViewRootImpl.setView(ViewRootImpl.jav a:656)02-18 11:04:24.577: E/AndroidRuntime(31522): at android.view.WindowManagerImpl.addView(WindowManag erImpl.java:328)02-18 11:04:24.577: E/AndroidRuntime(31522): at android.view.WindowManagerImpl.addView(WindowManag erImpl.java:226)02-18 11:04:24.577: E/AndroidRuntime(31522): at android.view.WindowManagerImpl$CompatModeWrapper.a ddView(WindowManagerImpl.java:151)02-18 11:04:24.577: E/AndroidRuntime(31522): at android.app.Dialog.show(Dialog.java:277)02-18 11:04:24.577: E/AndroidRuntime(31522): at ir.saa.samin.ReadSingleFragment$4.onClick(ReadSing leFragment.java:301)02-18 11:04:24.577: E/AndroidRuntime(31522): at android.view.View.performClick(View.java:4091)02-18 11:04:24.577: E/AndroidRuntime(31522): at android.view.View$PerformClick.run(View.java:17072 )02-18 11:04:24.577: E/AndroidRuntime(31522): at android.os.Handler.handleCallback(Handler.java:615 )02-18 11:04:24.577: E/AndroidRuntime(31522): at android.os.Handler.dispatchMessage(Handler.java:92 )02-18 11:04:24.577: E/AndroidRuntime(31522): at android.os.Looper.loop(Looper.java:153)02-18 11:04:24.577: E/AndroidRuntime(31522): at android.app.ActivityThread.main(ActivityThread.jav a:4987)02-18 11:04:24.577: E/AndroidRuntime(31522): at java.lang.reflect.Method.invokeNative(Native Method)02-18 11:04:24.577: E/AndroidRuntime(31522): at java.lang.reflect.Method.invoke(Method.java:511)02-18 11:04:24.577: E/AndroidRuntime(31522): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:821)02-18 11:04:24.577: E/AndroidRuntime(31522): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:584)02-18 11:04:24.577: E/AndroidRuntime(31522): at dalvik.system.NativeStart.main(Native Method)