Android 警报对话框返回
我创建了一个通用标记器类,可以在整个应用程序中使用。因此,可以使用包含活动有效标记类型的AlertDialog将活动1标记为type1、type2等。标记被正确地存储到数据库中,但是现在我想用所选的值更新活动中的TextView 我尝试使用AsyncTask,但似乎无法设置AlertDialog的背景(这很有意义)。我尝试View.post(Runnable)方法得到了类似的结果Android 警报对话框返回,android,android-alertdialog,Android,Android Alertdialog,我创建了一个通用标记器类,可以在整个应用程序中使用。因此,可以使用包含活动有效标记类型的AlertDialog将活动1标记为type1、type2等。标记被正确地存储到数据库中,但是现在我想用所选的值更新活动中的TextView 我尝试使用AsyncTask,但似乎无法设置AlertDialog的背景(这很有意义)。我尝试View.post(Runnable)方法得到了类似的结果 鉴于AlertDialog发生在外部类中,我是否可以知道它已在我的主要活动中关闭,然后更新TextView?取决于A
鉴于AlertDialog发生在外部类中,我是否可以知道它已在我的主要活动中关闭,然后更新TextView?取决于AlertDialog初始化代码的位置。如果您是从需要更新的活动启动AlertDialog,则可以在对话框的OnClickListener回调中调用该活动的一个方法。如果对话框正在应用程序的其他位置初始化,并且不知道哪个活动将是当前活动,您可以使用LocalBroadcastManager从AlertDialog的回调发送广播消息,并在每个活动中注册/取消注册BroadcastReceiver,如果该活动是当前活动的,则需要更新该活动。只需实现
onClick()
listener for positive按钮:
new AlertDialog.Builder(this)
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton)
{
TextView text = (TextView) v.findViewById(R.id.my_view);
if (text != null)
{
text.setText("Your Text");
}
})
.setNegativeButton(R.string.cancel, null).create().show();
如果我理解正确,您想知道对话框何时被取消。为此有一个回调,OnDismissListener。让您的活动实现该接口并为回调注册自身。