2013-11-22 58 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

我也嘗試過,但沒有工作:錯誤:「方法getActivity(上下文,int,意圖,int)在類型PendingIntent不適用於參數(新的DialogInterface.OnClickListener(){},int,Intent,int)「 – user3008437

+0

檢查編輯。 – Naddy

+0

This metho d也沒有定義。問題是我無法獲取PendingIntent的上下文,我只能檢索Fragment/DialogFragment。 – user3008437