2013-08-09 4 views
0

Я создаю AlertDialog для android в scala Плагин для плагинов IDE, я хочу изменить свою активность после нажатия кнопки «Нет», но я не мог ее изменить, у меня также нет ошибок!android - Scala OnClickListener AlertDialog

могли бы вы дать мне несколько советов, если я написал это неправильно

Спасибо заранее! Это мой первый андроид приложение в Скале

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() 

ответ

1

Я переписал YOR код немного и он начинает вторую активность также:

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() 
    } 
} 
0

Убедитесь что ваша активность HomeActivity, по крайней мере, записана в Makefile, иначе она не будет срабатывать и не выкинет ошибку в фоновом режиме. Поскольку это действие было запущено в фоновом режиме, это может не привести к ошибке.

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

См Starting an activity для более подробной информации.

Возможно, вы редактируете файл .class, если используете отладчик? В этом случае закройте файл .class и откройте файл * .scala.

Смежные вопросы