首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Activity Lifecycle:startActivityForResult并按Back Button

Activity Lifecycle:startActivityForResult 按Back Button

在 Android 开发中,startActivityForResult 是一个用于启动另一个 Activity 并向其传递数据的方法。当用户按 Back Button 时,系统会回退到上一个 Activity。在回退过程中,系统会自动调用 onPause() 方法,停止当前 Activity 的运行。

为了在按 Back Button 时执行某些操作,可以重写 onPause() 方法并添加逻辑。例如,可以在 onPause() 中保存数据或执行一些清理操作。

以下是一个示例代码,演示如何在按 Back Button 时执行某些操作:

代码语言:scss
复制
// 导入所需库
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    private Button mButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mButton = findViewById(R.id.button);
        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 启动另一个 Activity
                startActivityForResult(new Intent(MainActivity.this, SecondActivity.class), 0);
            }
        });
    }

    @Override
    protected void onPause() {
        super.onPause();

        // 在按 Back Button 时执行操作
        if (mButton != null) {
            mButton.setText("Back");
        }
    }

    @Override
    protected void onResume() {
        super.onResume();

        // 在按 Back Button 时更新按钮文本
        if (mButton != null) {
            mButton.setText("Forward");
        }
    }
}

在上述代码中,我们实现了两个按钮,一个用于启动另一个 Activity,一个用于在按 Back Button 时执行操作。在 onPause() 方法中,我们检查 mButton 是否为 null,如果是,则说明没有按钮正在被点击,因此我们可以执行一些清理操作。在按 Back Button 时,系统会调用 onPause() 方法,因此我们可以在这里更新按钮的文本。在 onResume() 方法中,我们检查 mButton 是否为 null,如果是,则说明按钮已经被点击,因此我们可以更新按钮的文本。

注意,在按 Back Button 时,系统只会调用 onPause() 方法,而不会调用 onStop() 方法。因此,如果需要在按 Back Button 时执行一些清理操作,可以在 onPause() 方法中执行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券