解决方案 »

  1.   

    报的错是什么,帖logcat来看。
      

  2.   

    09-28 02:27:56.832: D/AndroidRuntime(669): Shutting down VM
    09-28 02:27:56.832: W/dalvikvm(669): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
    09-28 02:27:56.852: E/AndroidRuntime(669): FATAL EXCEPTION: main
    09-28 02:27:56.852: E/AndroidRuntime(669): java.lang.NullPointerException
    09-28 02:27:56.852: E/AndroidRuntime(669):  at com.liuyuan.shudu08.KeyDialog.returnResult(KeyDialog.java:52)
    09-28 02:27:56.852: E/AndroidRuntime(669):  at com.liuyuan.shudu08.KeyDialog.access$0(KeyDialog.java:51)
    09-28 02:27:56.852: E/AndroidRuntime(669):  at com.liuyuan.shudu08.KeyDialog$1.onClick(KeyDialog.java:62)
    09-28 02:27:56.852: E/AndroidRuntime(669):  at android.view.View.performClick(View.java:4084)
    09-28 02:27:56.852: E/AndroidRuntime(669):  at android.view.View$PerformClick.run(View.java:16966)
    09-28 02:27:56.852: E/AndroidRuntime(669):  at android.os.Handler.handleCallback(Handler.java:615)
    09-28 02:27:56.852: E/AndroidRuntime(669):  at android.os.Handler.dispatchMessage(Handler.java:92)
    09-28 02:27:56.852: E/AndroidRuntime(669):  at android.os.Looper.loop(Looper.java:137)
    09-28 02:27:56.852: E/AndroidRuntime(669):  at android.app.ActivityThread.main(ActivityThread.java:4745)
    09-28 02:27:56.852: E/AndroidRuntime(669):  at java.lang.reflect.Method.invokeNative(Native Method)
    09-28 02:27:56.852: E/AndroidRuntime(669):  at java.lang.reflect.Method.invoke(Method.java:511)
    09-28 02:27:56.852: E/AndroidRuntime(669):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
    09-28 02:27:56.852: E/AndroidRuntime(669):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
    09-28 02:27:56.852: E/AndroidRuntime(669):  at dalvik.system.NativeStart.main(Native Method)
      

  3.   

    //通知ShuduView对象,刷新整个九宫格显示的数据
    private void returnResult(int tile){
        shuduView.setSelectedTile(tile);
        //调用dismiss方法,取消对话框的显示。
        dismiss();
    }shuduView这个空了吧
      

  4.   

      private ShuduView shuduView=new ShuduView(getContext());
      

  5.   

    谢谢各位大神,问题已经解决。一个是我的shuduView为空,还有就是KeyDialog函数的参数也写错了。改正方法如下:
    KeyDialog.java文件第13行开始: //用来存放代表对话框当中按钮的对象
    private final View keys[] = new View[9];
    private final int used[];
    private ShuduView shuduView;

    //构造函数的第二个参数当中保存着当前单元格已经使用过的数字
    public KeyDialog(Context context,int[] used,ShuduView shuduView) {
    super(context);
    this.used = used;
    this.shuduView = shuduView;
    }ShuduView.java文件第98行: KeyDialog keyDialog = new KeyDialog(getContext(),used,this);
    keyDialog.show();
    return true;
      

  6.   

    如果看着我的代码太费劲,可以去这个网址看下。他做的也是这个,我也是照着这个代码才找到的问题。还是非常感谢各位大神,我实在太新手了。http://www.2cto.com/kf/201401/275540.html