0

我在scala IDE插件eclips中为android创建了AlertDialog,我想在单击No按钮后更改我的活动,但我无法更改它,我也没有任何错误!

如果我写错了,请给我一些提示

提前致谢!这是我在 scala 中的第一个 android 应用程序

 new AlertDialog.Builder(this)
                .setTitle("Exit the camera")
                .setMessage("Do you want to try again?")
                .setPositiveButton("No", new View.OnClickListener {
                    println("Nooooo Print")
                    def onClick(dialog: View) {
                        println("No Print");
                        val intent = new Intent(ClaimBookActivity.this,   
 classOf[HomeActivity]);
                        startActivity(intent); 
                        println("No Class");
                    }
                })
                .setNegativeButton("Yes", new View.OnClickListener {
                    println("yes Print")
                    def onClick(dialog: View) {
                        println("test")
                    }
                }).show()
4

2 回答 2

1

我稍微重写了你的代码,它很好地开始了第二个活动:

new AlertDialog.Builder(this)
  .setTitle("Exit the camera")
  .setMessage("Do you want to try again?")
  .setPositiveButton("No",
    () => {
      println("No Print")
      val intent = new Intent(MainActivity.this,
        classOf[NotMainActivity])
      startActivity(intent)
      println("No Class")
    })
  .setNegativeButton("Yes",
    () => {
      println("yes Print")
      println("test")
    }).show()

将此代码添加到其他地方

implicit def func2OnClickListenerDialog(func: () => Unit): DialogInterface.OnClickListener = {
    new OnClickListener() {
      override def onClick(dialog: DialogInterface , which: Int) = func()
    }
}
于 2013-08-13T04:22:54.207 回答
0

确保您的活动HomeActivity至少记录在 Makefile 中,否则它不会触发并在后台引发错误。由于此活动是在后台启动的,因此可能不会导致错误。

    <activity
        android:name=".HomeActivity"
        android:label="Home activity" >
    </activity>

有关更多详细信息,请参阅启动活动

否则,如果您使用调试器,您可能正在编辑 .class 文件?在这种情况下,关闭 .class 文件并打开 *.scala 文件。

于 2013-08-13T12:30:27.433 回答