0

我正在使用一个 Activity,我在其中声明了 ActionBar 选项卡和 ViewPager 。每个页面都在线获取数据并将其显示在 ListView 中。我在没有网络连接时显示 AlertDialog。问题是 AlertDialog 没有一键取消。有六个选项卡和相同的 ViewPager,在单击它六次后被取消。

下面是完整的代码。

public class AlertDialogBox  extends DialogFragment{
Context mContext;
StartActivity sa;
public AlertDialogBox(Context context) {
    mContext = context;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    sa =new StartActivity();
    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(mContext);
    //alertDialogBuilder.setTitle("Really?");
    alertDialogBuilder.setMessage("Check your internet connection");
    //null should be your on click listener
   //alertDialogBuilder.setPositiveButton("OK", null);
    alertDialogBuilder.setNegativeButton("OK", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {

            //dialog.dismiss();
            //mContext.
            //mContext.finish();
            sa.finish();

        }
    });


    return alertDialogBuilder.create();
}
}
4

1 回答 1

0

在主要活动中移动您对互联网连接的检查,而不是在每个页面中。此外,从主要活动中显示您的对话框。

public Dialog onCreateDialog(Bundle savedInstanceState) {

    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(mContext);
    alertDialogBuilder.setMessage("Check your internet connection");       
    alertDialogBuilder.setNegativeButton("OK", new DialogInterface.OnClickListener() {

   @Override
   public void onClick(DialogInterface dialog, int which) {
     dialog.dismiss();
     finish();      

   }
});
return alertDialogBuilder.create();

}

于 2013-06-27T06:16:01.297 回答