如何在自定义对话框按钮中使用意图?

用户名

我的对话框中有两个按钮,该按钮编码在xml文件中:

 <Button
    android:id="@+id/continuegame"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/resulttext"
    android:layout_marginRight="26dp"
    android:layout_marginTop="23dp"
    android:layout_toLeftOf="@+id/backmain"
    android:onClick="continueGame"
    android:text="@string/label_continue" />

<Button
    android:id="@+id/backmain"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/continuegame"
    android:layout_alignBottom="@+id/continuegame"
    android:layout_alignParentRight="true"
    android:layout_marginRight="52dp"
    android:onClick="backToMain"
    android:text="@string/label_mainmenu" />

我已经成功调用了对话框,但是问题是当我单击“继续”或返回主菜单按钮时,应用程序崩溃了。

这是我的GuessActivity.java中的代码:

//when Submit button is clicked this method is called
public void checkAnswer(View view){
    EditText userinput = (EditText) findViewById(R.id.inputLetter);
    String temp = userinput.getText().toString();
    char userletter = temp.charAt(0);

    Bundle fromplay = getIntent().getExtras();
    String temp2 = fromplay.getString("missing");
    char missingletter = temp2.charAt(0);

    Log.d ("temp2", temp2);

    if(userletter == missingletter){
        Log.d ("right", "right");
        correct = 1;
        //will call a dialog box
        resultDialogBox(correct);
    } else {
        Log.d ("wrong", "wrong");
        correct = 0;
        //will call a dialog box
        resultDialogBox(correct);
    }


}

//the dialog box
public void resultDialogBox(int correct){
    this.correct = correct;
    Dialog resultbox = new Dialog(GuessActivity.this);
    resultbox.setContentView(R.layout.dialog_result);
    resultbox.setCanceledOnTouchOutside(false);
    TextView result = (TextView) resultbox.findViewById(R.id.resulttext);


    if(correct == 1){
        result.setText("Correct!");
    } else {
        result.setText("Wrong!");
    }

    resultbox.show();

}

//method of the continue button
public void continueGame(View view){
    Intent con = new Intent(GuessActivity.this, PlayActivity.class);
    GuessActivity.this.startActivity(con);
}

//method of the back to main button
public void backToMain(View view){
    Intent backtomain = new Intent(GuessActivity.this, MainActivity.class);
    GuessActivity.this.startActivity(backtomain);
}

日志猫:

04-28 13:54:48.860: W/dalvikvm(24493): threadid=1: thread exiting with uncaught exception (group=0x4161c8b0)
04-28 13:54:48.870: E/AndroidRuntime(24493): FATAL EXCEPTION: main
04-28 13:54:48.870: E/AndroidRuntime(24493): java.lang.IllegalStateException: Could not find a method continueGame(View) in the activity class android.view.ContextThemeWrapper for onClick handler on view class android.widget.Button with id 'continuegame'
04-28 13:54:48.870: E/AndroidRuntime(24493):    at android.view.View$1.onClick(View.java:3801)
04-28 13:54:48.870: E/AndroidRuntime(24493):    at android.view.View.performClick(View.java:4421)
04-28 13:54:48.870: E/AndroidRuntime(24493):    at android.view.View$PerformClick.run(View.java:17903)
04-28 13:54:48.870: E/AndroidRuntime(24493):    at android.os.Handler.handleCallback(Handler.java:730)
04-28 13:54:48.870: E/AndroidRuntime(24493):    at android.os.Handler.dispatchMessage(Handler.java:92)
04-28 13:54:48.870: E/AndroidRuntime(24493):    at android.os.Looper.loop(Looper.java:213)
04-28 13:54:48.870: E/AndroidRuntime(24493):    at android.app.ActivityThread.main(ActivityThread.java:5225)
04-28 13:54:48.870: E/AndroidRuntime(24493):    at java.lang.reflect.Method.invokeNative(Native Method)
04-28 13:54:48.870: E/AndroidRuntime(24493):    at java.lang.reflect.Method.invoke(Method.java:525)
04-28 13:54:48.870: E/AndroidRuntime(24493):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)
04-28 13:54:48.870: E/AndroidRuntime(24493):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
04-28 13:54:48.870: E/AndroidRuntime(24493):    at dalvik.system.NativeStart.main(Native Method)
04-28 13:54:48.870: E/AndroidRuntime(24493): Caused by: java.lang.NoSuchMethodException: continueGame [class android.view.View]
04-28 13:54:48.870: E/AndroidRuntime(24493):    at java.lang.Class.getConstructorOrMethod(Class.java:423)
04-28 13:54:48.870: E/AndroidRuntime(24493):    at java.lang.Class.getMethod(Class.java:787)
04-28 13:54:48.870: E/AndroidRuntime(24493):    at android.view.View$1.onClick(View.java:3794)
04-28 13:54:48.870: E/AndroidRuntime(24493):    ... 11 more
04-28 13:54:50.441: I/Process(24493): Sending signal. PID: 24493 SIG: 9
04-28 13:54:50.692: D/libEGL(24827): loaded /vendor/lib/egl/libEGL_adreno.so
04-28 13:54:50.692: D/libEGL(24827): loaded /vendor/lib/egl/libGLESv1_CM_adreno.so
04-28 13:54:50.692: D/libEGL(24827): loaded /vendor/lib/egl/libGLESv2_adreno.so
04-28 13:54:50.692: I/Adreno-EGL(24827): <qeglDrvAPI_eglInitialize:316>: EGL 1.4 QUALCOMM build:  (CL4169980)
04-28 13:54:50.692: I/Adreno-EGL(24827): OpenGL ES Shader Compiler Version: 17.01.10.SPL
04-28 13:54:50.692: I/Adreno-EGL(24827): Build Date: 12/01/13 Sun
04-28 13:54:50.692: I/Adreno-EGL(24827): Local Branch: 
04-28 13:54:50.692: I/Adreno-EGL(24827): Remote Branch: 
04-28 13:54:50.692: I/Adreno-EGL(24827): Local Patches: 
04-28 13:54:50.692: I/Adreno-EGL(24827): Reconstruct Branch: 
04-28 13:54:50.732: D/OpenGLRenderer(24827): Enabling debug mode 0
哈里哈兰

试试这个..

public void resultDialogBox(int correct){
    this.correct = correct;
    Dialog resultbox = new Dialog(GuessActivity.this);
    resultbox.setContentView(R.layout.dialog_result);
    resultbox.setCanceledOnTouchOutside(false);
    TextView result = (TextView) resultbox.findViewById(R.id.resulttext);
    Button continuegame = (Button) resultbox.findViewById(R.id.continuegame);
    Button backmain = (Button) resultbox.findViewById(R.id.backmain);

    if(correct == 1){
        result.setText("Correct!");
    } else {
        result.setText("Wrong!");
    }

    continuegame.setOnClickListener(new OnClickListener() {

          @Override
          public void onClick(View v) {
                  Intent con = new Intent(GuessActivity.this, PlayActivity.class);
                  GuessActivity.this.startActivity(con);
           }
    });

    backmain.setOnClickListener(new OnClickListener() {

          @Override
          public void onClick(View v) {
                  Intent backtomain = new Intent(GuessActivity.this, MainActivity.class);
                  GuessActivity.this.startActivity(backtomain);
           }
    });

    resultbox.show();

}

删除android:onClick="backToMain"android:onClick="continueGame"XML

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Android中使用网格视图创建自定义警报对话框?

来自分类Dev

如何在Android中使用CardView创建自定义对话框

来自分类Dev

如何在自定义对话框中设置自定义按钮?

来自分类Dev

如何在自定义对话框中设置自定义按钮?

来自分类Dev

如何自定义警报对话框,以使按钮适合警报对话框

来自分类Dev

Android-如何在自定义警报对话框中检查按钮单击?

来自分类Dev

我在自定义对话框中使用AsyncTask,但对话框未显示

来自分类Dev

如何在自定义对话框中添加微调框并使用数组填充它

来自分类Dev

使用自定义投射按钮时如何启动“连接到设备”对话框?

来自分类Dev

使用自定义投射按钮时如何启动“连接到设备”对话框?

来自分类Dev

BotFramework:使用意图从对话框启动表单

来自分类Dev

jQuery UI自定义对话框按钮

来自分类Dev

Summernote自定义对话框和按钮

来自分类Dev

自定义对话框中的按钮| 安卓

来自分类Dev

单击按钮后如何打开“自定义对话框”

来自分类Dev

如何向 Outlook 的提醒对话框添加自定义按钮?

来自分类Dev

使用自定义按钮关闭具有自定义界面的警报对话框

来自分类Dev

在自定义对话框类中使用Android注释

来自分类Dev

在PropertyGrid中使用自定义颜色选择器对话框

来自分类Dev

在自定义对话框类中使用Android注释

来自分类Dev

在Android中使用自定义对话框时出错

来自分类Dev

在自定义警报对话框中使用时 ExpandableListView 对象为 null

来自分类Dev

在回收站视图中使用自定义对话框

来自分类Dev

如何更改打开对话框的图像以及如何自定义对话框?

来自分类Dev

使用自定义对话框时如何关闭引导框

来自分类Dev

如何从自定义对话框中删除标题?

来自分类Dev

如何自定义放置Jquery对话框

来自分类Dev

如何制作更好的自定义对话框?

来自分类Dev

如何制作自定义Cast MediaRouter对话框

Related 相关文章

  1. 1

    如何在Android中使用网格视图创建自定义警报对话框?

  2. 2

    如何在Android中使用CardView创建自定义对话框

  3. 3

    如何在自定义对话框中设置自定义按钮?

  4. 4

    如何在自定义对话框中设置自定义按钮?

  5. 5

    如何自定义警报对话框,以使按钮适合警报对话框

  6. 6

    Android-如何在自定义警报对话框中检查按钮单击?

  7. 7

    我在自定义对话框中使用AsyncTask,但对话框未显示

  8. 8

    如何在自定义对话框中添加微调框并使用数组填充它

  9. 9

    使用自定义投射按钮时如何启动“连接到设备”对话框?

  10. 10

    使用自定义投射按钮时如何启动“连接到设备”对话框?

  11. 11

    BotFramework:使用意图从对话框启动表单

  12. 12

    jQuery UI自定义对话框按钮

  13. 13

    Summernote自定义对话框和按钮

  14. 14

    自定义对话框中的按钮| 安卓

  15. 15

    单击按钮后如何打开“自定义对话框”

  16. 16

    如何向 Outlook 的提醒对话框添加自定义按钮?

  17. 17

    使用自定义按钮关闭具有自定义界面的警报对话框

  18. 18

    在自定义对话框类中使用Android注释

  19. 19

    在PropertyGrid中使用自定义颜色选择器对话框

  20. 20

    在自定义对话框类中使用Android注释

  21. 21

    在Android中使用自定义对话框时出错

  22. 22

    在自定义警报对话框中使用时 ExpandableListView 对象为 null

  23. 23

    在回收站视图中使用自定义对话框

  24. 24

    如何更改打开对话框的图像以及如何自定义对话框?

  25. 25

    使用自定义对话框时如何关闭引导框

  26. 26

    如何从自定义对话框中删除标题?

  27. 27

    如何自定义放置Jquery对话框

  28. 28

    如何制作更好的自定义对话框?

  29. 29

    如何制作自定义Cast MediaRouter对话框

热门标签

归档