要在另一个非活动类中显示AlertDialog,你可以传递一个活动的上下文给该非活动类,并使用该上下文来显示AlertDialog。以下是一个代码示例:
在活动类中,创建一个公共方法来显示AlertDialog,并将活动的上下文作为参数传递给该方法:
public class MainActivity extends AppCompatActivity {
// ...
public void showAlertDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Alert")
.setMessage("This is an alert dialog.")
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
// ...
}
在非活动类中,使用传递的活动上下文来调用活动类中的showAlertDialog()方法:
public class NonActivityClass {
private Context mContext;
public NonActivityClass(Context context) {
mContext = context;
}
public void showAlertDialog() {
MainActivity activity = (MainActivity) mContext;
activity.showAlertDialog();
}
}
然后,在活动类中创建NonActivityClass的实例,并调用showAlertDialog()方法:
NonActivityClass nonActivityClass = new NonActivityClass(MainActivity.this);
nonActivityClass.showAlertDialog();
这样就可以在非活动类中显示AlertDialog了。请确保在传递活动的上下文时,传递的是活动类的实例。