2016-05-14 61 views
0

我想在用户拖动新的应用程序构件时显示一些确认对话框。如果用户取消对话框,则不会添加(或删除)应用程序窗口小部件。在创建应用程序构件之前显示确认对话框

我使用AppWidgetProvider.onDeleted删除了自定义代码,但不知道如何获取“添加”事件,以便我可以显示确认对话框,并在必要时拒绝应用程序窗口小部件创建。

+0

http://developer.android.com/guide/topics/appwidgets/index.html#Configuring – CommonsWare

回答

1

在你的AppWidgetProvider java文件中,在onUpdate方法下创建一个对话框并显示。

public void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) { 

    // ..... your code 

    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); 
     alertDialogBuilder.setMessage("Are you sure,You wanted to make decision"); 

     alertDialogBuilder.setPositiveButton("yes", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface arg0, int arg1) { 
       // add widget 
     } 
     }); 

     alertDialogBuilder.setNegativeButton("No",new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      // dont add widget 
     } 
     }); 

     AlertDialog alertDialog = alertDialogBuilder.create(); 
     alertDialog.show(); 


} 
+0

好。小提示:我认为'新的AlertDialog.Builder(this)'需要'新的AlertDialog.Builder(context)' –

+0

等待,一个对话框只能从活动中显示出来...... –

相关问题