2013-11-22 3 views
0

Возможно ли установить будильник при нажатии кнопки из AlertDialog? Я хочу создать будильник, когда будет нажата кнопка повтора AlertDialog.Создать сигнал тревоги с помощью DialogAlert

builder.setNegativeButton("Snooze", new DialogInterface.OnClickListener() //@Override 


     public void onClick(DialogInterface dialog, int which) { 

      Intent i = new Intent("com.example.servicealarmdemo2.demoactivity"); 


      PendingIntent operation = PendingIntent.getActivity(getActivity().getBaseContext(), 0, i, Intent.FLAG_ACTIVITY_NEW_TASK); 
      AlarmManager alarmManager = (AlarmManager)getActivity().getSystemService(Context.ALARM_SERVICE); 
      long time= System.currentTimeMillis(); 
      EditText text=(EditText)getActivity().findViewById(R.id.editText1); 
      String str = text.getText().toString(); 
      long t=Long.parseLong(str); 
      alarmManager.set(AlarmManager.RTC_WAKEUP, 
        time+(t*60*1000), operation); 


     } 
    }); 

ОШИБКА:

11-22 19:52:23.018: E/AndroidRuntime(363): FATAL EXCEPTION: main 
11-22 19:52:23.018: E/AndroidRuntime(363): java.lang.NullPointerException 
11-22 19:52:23.018: E/AndroidRuntime(363): at com.example.servicealarmdemo2.AlertDemo$2.onClick(AlertDemo.java:60) 
11-22 19:52:23.018: E/AndroidRuntime(363): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:159) 
11-22 19:52:23.018: E/AndroidRuntime(363): at android.os.Handler.dispatchMessage(Handler.java:99) 
11-22 19:52:23.018: E/AndroidRuntime(363): at android.os.Looper.loop(Looper.java:123) 
11-22 19:52:23.018: E/AndroidRuntime(363): at android.app.ActivityThread.main(ActivityThread.java:3683) 
11-22 19:52:23.018: E/AndroidRuntime(363): at java.lang.reflect.Method.invokeNative(Native Method) 
11-22 19:52:23.018: E/AndroidRuntime(363): at java.lang.reflect.Method.invoke(Method.java:507) 
11-22 19:52:23.018: E/AndroidRuntime(363): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
11-22 19:52:23.018: E/AndroidRuntime(363): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
11-22 19:52:23.018: E/AndroidRuntime(363): at dalvik.system.NativeStart.main(Native Method) 
+0

Да, это так. Проверьте [AlarmManager] (http://developer.android.com/reference/android/app/AlarmManager.html), попробуйте, затем вернитесь, если у вас возникнут трудности. –

+0

Я пробовал, но некоторые методы были неопределенны для класса Alert Dialog – user3008437

+0

, какие методы? – Naddy

ответ

0

Взгляните на эту tutorial. Пройдите через него, попытайтесь понять это, потратьте на это много времени. Вы учитесь лучше, когда вы подталкиваете себя к своему пределу. Затем, когда кто-то дает хороший ответ, примите их ответ, нажав галочку рядом с ответом. Удачи и приветствуем Android!

+0

Спасибо за ответ. Я видел этот учебник раньше но я ищу создание тревоги при нажатии на отрицательную кнопку из диалогового интерфейса, так что они отличаются. Я попытался установить будильник с помощью описанного метода, но не работал :( – user3008437

+0

AndroidWarrior, ссылка на этот учебник теперь сломана. –

0

Заменить getActivity().getBaseContext() на getActivity().

+0

Я тоже пробовал это, но не работал: error: «Метод getActivity (Context, int, Intent, int) в типе PendingIntent не применим для аргументов (new DialogInterface.OnClickListener() {}, int, Intent, int) " – user3008437

+0

проверить изменение. – Naddy

+0

Этот метод d также не определяется. Проблема в том, что я не могу получить контекст PendingIntent, я могу получить только фрагмент/диалог. – user3008437

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