【问题标题】:Reload activity from same activity从同一活动重新加载活动
【发布时间】:2016-03-28 20:53:37
【问题描述】:

我想知道这是否可能,我想这一定是一个糟糕的实践,但只是为了测试一些东西。我想从自身调用相同的活动,如果我解释的话。

从 Activity A 调用 Activity A

我得到的是干净的所有视线。我试过调用onResumeonRestart 方法,但我无法让它工作,由于某些奇怪的原因,应用程序停止工作。

我也看不到错误,因为 USB 连接的是 Code bar reader 而不是连接到计算机的设备来查看日志。

【问题讨论】:

  • 通过使用 startActivity() 你肯定可以启动同一个类的另一个活动。你想实现别的目标吗?
  • @EdwardvanRaak 编辑它jajaja
  • 也一样? startActivity 方法调用? @AlexanderKulyakhtin
  • Rusheel Jain 已经给出了这个答案。你必须想办法获取 logcat。

标签: android android-activity


【解决方案1】:

这是刷新活动的最佳方式:

public void refresh() {
    Intent intent = getIntent();
    overridePendingTransition(0, 0);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    finish();
    overridePendingTransition(0, 0);
    startActivity(intent);
}

编辑 06.11.2021 Kotlin 刷新活动的方式

private fun refresh() {
        val intent = Intent(applicationContext, YourActivity::class.java)
        startActivity(intent)
        finish()
    }

【讨论】:

    【解决方案2】:

    使用意图。

    Intent intent = new Intent(this, A.class);
    startactivity(intent);
    finish(); // assuming you wish to kill your previous instance of the activity
    

    【讨论】:

    • 如果它停止工作,然后收集 logcat。崩溃后断开阅读器的连接,启动 Android Monitor 并连接手机。电话可能会给你 logcat。
    • 错误是什么?您是否将 A.class 更改为您的 Activity 名称?
    【解决方案3】:
    Intent intent = new Intent(getApplicationContext(),YourActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
    

    【讨论】:

      【解决方案4】:
      Intent intent = getIntent();
      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
      finish();
      startActivity(intent);
      

      【讨论】:

      • 几句话您的代码如何解决问题中描述的问题以及它的作用将有很长的路要走。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-25
      • 2016-01-19
      • 1970-01-01
      • 2012-08-10
      • 2011-09-27
      • 2021-11-04
      • 2011-03-04
      相关资源
      最近更新 更多