【问题标题】:How to dismiss transparent Android activity and tap through to a second activity showing underneath it如何关闭透明的 Android 活动并点击下方显示的第二个活动
【发布时间】:2016-11-14 21:38:17
【问题描述】:

我有两个活动,一个是透明的,第二个活动显示在它下面。是否可以点击透明活动,将其关闭并让点击进入下方的活动?

【问题讨论】:

  • “是否可以点击透明活动,将其关闭并让点击进入下面的活动?” 不,只要透明Activity 是在前台。
  • 有什么方法可以实现吗?

标签: java android android-activity


【解决方案1】:

不确定您所说的“执行”到底是什么意思,但这是您可以在 Android 中执行的操作。

启动Activity A。启动Activity B时,按如下方式启动:

Intent intent = new Intent(A, B);
startActivityForResult(intent, SOME_RESULT_CODE);

然后当你关闭 Activity B 时,也就是调用 finish(),你需要确保你发送了一个结果:

Intent goBackToActivityA = new Intent();
goBackToActivityA.putExtra(PUT_EXTRA_FOR_WHATEVER_YOU_WANT_IN_A);
setResult(Activity.RESULT_OK, goBackToActivityA);
finish();

然后当您返回活动 A 时,您将需要捕获该结果并进行处理:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

     if (requestCode == SOME_RESULT_CODE) {
           if(resultCode == Activity.RESULT_OK){
           // extract PUT_EXTRA_FOR_WHATEVER_YOU_WANT_IN_A here
           // whatever the "carry through" is you can manage here
          }
     }
}

【讨论】:

  • 这将假定两个Activity A 都实现了onActivityResult 的覆盖方法。假设我想将此逻辑应用于我的应用程序中的所有活动,这将是一个痛苦。在 iOS 中,可以处理视图 B 的点击,然后将其传递给视图 A。这将允许点击视图 A 中的对象,同时允许我们在视图 B 中执行某种操作。必须有一个方法来点击活动 A,关闭活动 A,然后在活动 B 上执行点击。
猜你喜欢
  • 1970-01-01
  • 2019-07-30
  • 2018-05-23
  • 1970-01-01
  • 1970-01-01
  • 2013-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多