Android 从另一个活动刷新活动
我需要从android应用程序中的另一个活动重新加载一个活动。第二个活动是一个对话框窗口,基本活动应根据对话框窗口刷新内容。(通过单击对话框活动的按钮)认为A是要重新加载的活动,B是另一个活动Android 从另一个活动刷新活动,android,android-activity,Android,Android Activity,我需要从android应用程序中的另一个活动重新加载一个活动。第二个活动是一个对话框窗口,基本活动应根据对话框窗口刷新内容。(通过单击对话框活动的按钮)认为A是要重新加载的活动,B是另一个活动 context.startActivity(context.getIntent()); context.finish(); 在这种情况下,只需调用finish() 当您从A移动到B时。当您从B调用A时,它将再次加载活动A。对话框窗口和活动完全不同 可以从其对话框中刷新第一个活动。您可以使用接口来完成 这
context.startActivity(context.getIntent());
context.finish();
在这种情况下,只需调用finish()
当您从A移动到B时。当您从B调用A时,它将再次加载活动A。对话框窗口和活动完全不同 可以从其对话框中刷新第一个活动。您可以使用接口来完成 这里有一个简单的解决方案。在第一个活动中,实现一个接口名
IRefreshInteface
。它的定义如下:
public interface IRefreshInteface(){
public void doRefreshValue(String commandValue);
}
现在,如果您在活动中实现IRefreshInteface,您将获得方法doRefreshValue(String commandValue)
并在此处编写刷新代码
@Override
void doRefreshValue(String commandValue){
// Write refresh code here
}
现在,在对话框中,您有了活动的上下文。使用该上下文对象,您可以轻松调用此doRefreshValue(String commandValue)
方法。以下是示例代码:
public AlertDialog displayMessage(Context context, String title, String message){
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(title);
builder.setMessage(message);
LayoutInflater inflater = LayoutInflater.from(context);
final View v = inflater.inflate(R.layout.custom_view, null);
builder.setView(v);
shipText = (EditText)v.findViewById(R.id.shipNameEditText);
scientistNameText = (EditText)v.findViewById(R.id.scientistEditText);
scientistEmailText = (EditText)v.findViewById(R.id.emailEditText);
volumeText = (EditText)v.findViewById(R.id.volumeEditText);
colourText = (EditText)v.findViewById(R.id.colourEditText);
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
((IRefreshInteface) context).doRefreshValue("YOUR_COMMAND");
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog dialog= builder.create();
dialog.show();
Button tb = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
tb.setOnClickListener(new CustomListener(dialog));
return dialog;
}
在这里,将活动的上下文传递给displayMessage()
方法,并使用以下方式调用活动方法doRefreshValue
:
((IRefreshInteface) context).doRefreshValue("YOUR_COMMAND");
欲了解更多信息,请访问
希望这能解决你的问题。抱歉英语不好:)重新加载您的活动
context.startActivity(context.getIntent());
context.finish();
您是否在第一个活动中使用了
startActivityForResult
?是的。我使用startActivityForResult来初始化第二个活动确定,然后您只需要实现onActivityResult
来执行“刷新”操作请将代码放在这里