当前位置: 首页 > 知识库问答 >
问题:

按返回按钮重新启动之前的活动

慕弘义
2023-03-14

我正在制作一个应用程序,其中有一个“MainActivity.class”,它有一个按钮“Edit profile”,可以引导另一个活动,称为“Editprofile.class”。它(MainActivity)还有一个文本视图,显示一个字符串(名称)。

Editprofile.class接受来自用户的字符串,按下添加按钮后,新的字符串会更新到数据库中,替换以前的字符串。现在,当更新后,用户通过后退按钮html" target="_blank">返回主活动时,我希望文本视图显示新的更新的字符串;为此,我必须重新启动主活动。

我通过在用户按下“编辑配置文件”按钮时使用finish()函数实现了这一点,当用户在Editprofile活动期间按下back按钮时,Main活动将通过onBackPress()方法重新启动。

启动“Editprofile.class”的意图代码:

public void edit_profile(View view)  {                                                
    Intent intent = new Intent(this, Editprofile.class)
    startActivity(intent)  
    finish();
  }

返回“MainActivity”的代码:

@Override
public void onBackPressed() {
    finish();
    startActivity(new Intent(this, MainActivity.class));
}

我已经设法得到了我想要的结果,但如果有人能告诉我这是否是最有效的方法,我将不胜感激。

我应该以问答的形式发布这个吗??

共有3个答案

熊俊人
2023-03-14

我建议使用starActivityForResult()并在onActivityResult()中更新您的Main Active

(不需要检查onResume()中的更新,因为此方法由许多其他实例调用,而不仅仅是从Editfile返回。)

吴安和
2023-03-14

但是我也想刷新主活动,以便在返回时显示新更新的名称;

对于这类事情,有一个onResume()方法

阎淮晨
2023-03-14

@Mattias答案的另一种选择是使用startActivityForResult(…)启动Editprofile。然后,该活动可以返回一个结果,指示用户是否实际编辑了他/她的个人资料,您可以在main活动的onActivityResult(…)中捕获该结果。仅当配置文件更改时,才需要更新TextView

它可能需要几行额外的编码,但比每次onResume()被击中时更新效率略高。在我看来,它也更干净一点,尽管就性能而言,它可能没什么大不了的。

例如,看看Android开发者网站上的文档。

 类似资料:
  • 问题内容: 在我的应用程序中,我有两个活动。首先是启动屏幕,它仅显示应用程序名称和其他一些信息。单击初始屏幕活动后,我正在加载主要活动。我的应用程序运行正常,但遇到一个小问题。如果我从主要活动中按返回按钮,则控件将启动初始屏幕活动。但我不想再次显示启动画面活动,我想避免在按“后退”按钮时启动画面。 可能吗?如果可以,怎么办? 问题答案: 在文件中,在初始屏幕中添加属性。

  • 我有一个活动,当我的应用程序首次启动时开始(只有一次)。该活动允许用户选择主题。然后当他们按下完成键时,我完成了这项活动。这会将用户引导到主活动。但是当用户按下返回按钮时,它会返回到第一次启动的活动(我使用完成()关闭的活动)。但我想要的是,应用程序应该关闭时,用户按下返回按钮从主活动(总是)。我在两个类中都重写了onBackPress。 这两个类中的onBackPressed方法如下所示: 主活

  • 问题内容: 我会尽力解释这一点。 我有一个应用程序可以在页面上显示50多个项目。用户可以单击单个项目,然后转到页面以更新项目信息。一切工作正常,除了在用户完成更新单个项目信息并在浏览器上单击“后退”按钮到上一个按钮之后。旧项目信息(更新前)仍然存在。用户必须单击刷新才能查看更新的信息。不错,但我希望提供更好的用户体验。有解决这个问题的主意吗?非常感谢。 问题答案: 我认为您必须使用JS才能使此工作

  • 我正在开发的应用程序在第一次安装时有一个奇怪的行为。如果用户第一次正常退出应用程序,它将永远按其应有的方式运行。如果用户在安装应用程序后第一次使用“主页”按钮,则会将应用程序视为应该再次重新启动主屏幕,并在旧屏幕之前启动活动的新版本。 因此,目前确实有两个问题。我似乎无法同时解决这两个问题。 当用户按下“主页”按钮时,防止应用程序在首次安装时关闭。 在清单文件中,我没有将属性定义为任何内容。因此,

  • 我有一个名为logIn的活动,它会导致一个名为users not的活动。我希望防止users活动返回到logIn活动,因此a在users活动中添加了以下代码: 它工作得很好,但现在我希望用户能够注销,这样他就可以通过单击按钮返回到登录活动,我在用户活动中添加了一个按钮,并添加了onClickListener,如下所示: 但是,当我添加onClickListener时,当我单击登录按钮时,应用程序崩

  • 我是全新的,我唯一的编程经验是PLC; s和HMI的,所以我很抱歉不能弄清楚什么可能是一个简单的任务。但是我找不到任何CURRENT视频或工作示例,说明如何简单地将图像放置在主活动上,并在按下后打开另一个活动。我正在使用最新版本的Android Studio11.0,并试图学习静态编程语言。我已经附上了我到目前为止的项目代码,正如你所看到的,我刚刚开始这个项目。提前感谢您的任何帮助。 Java文件