微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以通过onPause返回值?

如何解决是否可以通过onPause返回值?

我正在Android上进行实验,以了解如何将值返回给Main Activity(来自子活动Activity2),我想询问适当的方法

在我的主要活动中,我有一个函数,该函数以字符串形式显示请求代码和结果代码以证明概念:

    @Override
    protected void onActivityResult(int requestCode,int resultCode,Intent data) {
        super.onActivityResult(requestCode,resultCode,data);
        String a2return = "A2 reqcode: "+requestCode + "A2 result: "+resultCode;
        TextView textView = findViewById(R.id.A2result);
        textView.setText(a2return);

    }

在我的子活动Activity2中,我具有以下函数,这是唯一调用finish()函数以返回到主活动的函数


    // "Send text back" button click
    public void onButtonClick(View view) {

        Intent resultIntent = new Intent();
        resultIntent.putExtra("rv1",value);
        resultIntent.putExtra("rv2",value+99);
        setResult(Activity2.RESULT_OK,resultIntent);
        finish();
    }



    @Override
    public void onPause() {
        super.onPause();
        String status = "Im in PAUSE,wait a bit";
        // Capture the layout's TextView and set the string as its text
        TextView textView = findViewById(R.id.a2_status);
        textView.setText(status);

        Intent resultIntent = new Intent();
        resultIntent.putExtra("rv1",resultIntent);
        finish();

    }

通过“ OnButtonClick”返回主活动可以按预期正常进行。在主活动中,我看到了适当的代码,指示活动2已完成。但是,onPause不会。当用户按下返回按钮返回到Main Activity(Android清单中指示的标准返回按钮)时,会调用onPause函数

        <activity android:name=".Activity2" android:parentActivityName=".MainActivity">
                <!-- The Meta-data tag is required if you support API level 15 and lower -->
                <Meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value=".MainActivity" />
        </activity>


按照我在此处编写代码的方式,它应该完成与OnButtonClick相同的方式。 onPause激活后是否不返回任何内容

解决方法

为此,您应该覆盖0而不是k

onBackPressed()

对于操作栏中的“向上导航”按钮,请使用以下命令:

onPause()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。