我正在尝试开发一个小应用程序作为我考试的一部分。基本上,我有一个进入网页的按钮,我希望在单击按钮时和网页打开之前弹出一个警告对话框。这就是我到目前为止所做的:
MainActivity: 公共类MainActivity扩展了AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
webViewAndroidWeekly();
}
private void webViewAndroidWeekly (){
Button btnWebpage = findViewById(R.id.btnwebpage);
btnWebpage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setData(Uri.parse("http://androidweekly.net/"));
startActivity(intent);
}
});
}
@Override
protected void onStop() {
super.onStop();
Toast.makeText(this, "Thank you for using this app! :)", Toast.LENGTH_SHORT).show();
finish();
}
}
该按钮有效,它会打开网页,以便设置部分。我为警告对话框创建了一个单独的java类,并尝试将其实现,但我无法弄明白。
对话类:
公共类InternetWarningDialog扩展了DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setIconAttribute(android.R.attr.alertDialogIcon);
builder.setTitle("Go to WebPage");
builder.setMessage("Are you sure you want to proceed to webpage? This may incur additional charges based on your mobile data plan!");
builder.setCancelable(false);
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
getActivity().finish();
}
});
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
AlertDialog alertDialog = builder.create();
return alertDialog;
}
}
答案 0 :(得分:0)
您已创建 AlertDialog ,但要获取“警报”对话框视图,请使用 AlertDialog.Builder 上的方法 show(),如下所示
AlertDialog alertDialog = builder.create();
builder.show();
答案 1 :(得分:0)
我看不到对 AlertDialog 的任何要求。您需要添加AlertDialog调用以及AlertDialog.show(),然后在用户单击是时打开网页。
AlertDialog alertDialog = builder.create();
builder.show();
之前已经提出过一个熟悉的问题。请参考这个 open a dialog when i click a button
答案 2 :(得分:0)
在mainActivity中创建此方法......在主Activity中调用此showDialog()方法
public void showDialog(){
InternetWarningDialog exampleDialog = new InternetWarningDialog();
exampleDialog.show(getFragmentManager(),"Internet Dialog");
}
如果它的作品接受答案