2011-04-06 119 views
0

我想创建用于输入文本和日期的自定义对话框。对于我创建了一个布局的XML文件,该文件是Android对话框警报

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" android:orientation="vertical"> 
    <EditText android:id="@+id/dialogEditText" android:text="Enter Your Text Here" android:layout_height="wrap_content" android:layout_width="match_parent"></EditText> 
    <DatePicker android:id="@+id/datPicker" android:layout_height="wrap_content" android:layout_width="match_parent" ></DatePicker> 
    <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> 
    <Button android:text="Add" android:id="@+id/dialogAddBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true"></Button> 
    <Button android:text="Cancel" android:id="@+id/dialogCancelBtn" android:layout_width="200px" android:layout_height="wrap_content" android:layout_centerHorizontal="true"></Button> 
    </LinearLayout> 
</LinearLayout> 

和我的类代码:

final Dialog d= new Dialog(obj); 
       Window window= d.getWindow(); 
       window.setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND); 
       window.setTitle("Add Item"); 
       window.setContentView(R.layout.dialog_view); 

       final EditText input= (EditText) obj.findViewById(R.id.dialogEditText); 
       Button okBtn= (Button) obj.findViewById(R.id.dialogAddBtn); 
       okBtn.setOnClickListener(new OnClickListener() { 

         public void onClick(View v) { 
          toDoItems.add(0,input.getText().toString()); 
           aa.notifyDataSetChanged(); 
           //d.dismiss(); 
         } 
        }); 
        d.show(); 

这是完美呈现对话框,但是当我在单击确定比它产生的例外是:

04-06 14:01:24.415: ERROR/AndroidRuntime(1189): FATAL EXCEPTION: main 
04-06 14:01:24.415: ERROR/AndroidRuntime(1189): java.lang.NullPointerException 
04-06 14:01:24.415: ERROR/AndroidRuntime(1189):  at com.example.wrox.MyDialog.showInputDialog(MyDialog.java:66) 
04-06 14:01:24.415: ERROR/AndroidRuntime(1189):  at com.example.wrox.ToDoItems$1.onClick(ToDoItems.java:69) 
04-06 14:01:24.415: ERROR/AndroidRuntime(1189):  at android.view.View.performClick(View.java:2485) 
04-06 14:01:24.415: ERROR/AndroidRuntime(1189):  at android.view.View$PerformClick.run(View.java:9080) 
04-06 14:01:24.415: ERROR/AndroidRuntime(1189):  at android.os.Handler.handleCallback(Handler.java:587) 
04-06 14:01:24.415: ERROR/AndroidRuntime(1189):  at android.os.Handler.dispatchMessage(Handler.java:92) 
04-06 14:01:24.415: ERROR/AndroidRuntime(1189):  at android.os.Looper.loop(Looper.java:123) 
04-06 14:01:24.415: ERROR/AndroidRuntime(1189):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
04-06 14:01:24.415: ERROR/AndroidRuntime(1189):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-06 14:01:24.415: ERROR/AndroidRuntime(1189):  at java.lang.reflect.Method.invoke(Method.java:507) 
04-06 14:01:24.415: ERROR/AndroidRuntime(1189):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
04-06 14:01:24.415: ERROR/AndroidRuntime(1189):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
04-06 14:01:24.415: ERROR/AndroidRuntime(1189):  at dalvik.system.NativeStart.main(Native Method) 

请建议我一些解决方案.......

+0

MyDialog.java上的内容:66 – 2011-04-06 08:42:50

回答