在我的应用程序中,我想在多个地方使用AlertDialog
框。我可以通过在需要AlertDialog
框的任何地方使用代码来做到这一点。但这似乎是浪费,因为只有一个更改,它是相同的代码。如何通过更改变量对AlertDialog
框使用相同的代码?
这是我的AlertDialog
框代码
private void showInternetConenctionAlert(String alert, String title) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
alertDialog.setMessage(alert);
alertDialog.setTitle(title);
alertDialog.setCancelable(false);
alertDialog.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(topten.getFile()));
activity.startActivity(intent);
}
});
alertDialog.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
alertDialog.show();
}
在这里
onClick
是我用过的肯定Button
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(topten.getFile()));
activity.startActivity(intent);
在这里,只有我应该更改才能在其他地方使用的东西是这个。
topten.getFile()
我应该采取什么方法?
最佳答案
您几乎自己完成了此操作,只需向showInternetConenctionAlert
函数添加另一个参数,例如String uriString
,并将topten.getFile()
替换为uriString
。
private void showInternetConenctionAlert(String alert, String title, final String uriString) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
alertDialog.setMessage(alert);
alertDialog.setTitle(title);
alertDialog.setCancelable(false);
alertDialog.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uriString));
activity.startActivity(intent);
}
});
alertDialog.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
alertDialog.show();
}