0

scala IDE プラグイン eclips で Android 用の AlertDialog を作成します。[いいえ] ボタンをクリックした後にアクティビティを変更したいのですが、変更できませんでした。エラーもありません!!

書き方が間違っていたらヒントを教えてください

前もって感謝します!これは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

あなたのコードを少し書き直したところ、2 番目のアクティビティがうまく開始されました。

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 に答える