如何在Android中使用startactivityforresult

   2024-09-30 3700
核心提示:在Android中,startActivityForResult()方法用于从一个活动(Activity)启动另一个活动并期望返回结果创建第二个活动(我们将其

在Android中,startActivityForResult()方法用于从一个活动(Activity)启动另一个活动并期望返回结果

创建第二个活动(我们将其称为SecondActivity)并添加所需的UI元素。

在SecondActivity中,为返回数据设置一个按钮。例如:

Button returnDataButton = findViewById(R.id.return_data_button);returnDataButton.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {        Intent resultIntent = new Intent();        resultIntent.putExtra("result_key", "这是返回的数据");        setResult(RESULT_OK, resultIntent);        finish();    }});
在第一个活动(我们将其称为MainActivity)中,启动SecondActivity并等待返回结果。例如:
private static final int REQUEST_CODE = 1;Button startSecondActivityButton = findViewById(R.id.start_second_activity_button);startSecondActivityButton.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {        Intent intent = new Intent(MainActivity.this, SecondActivity.class);        startActivityForResult(intent, REQUEST_CODE);    }});
在MainActivity中重写onActivityResult()方法以处理SecondActivity返回的结果。例如:
@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {    super.onActivityResult(requestCode, resultCode, data);    if (requestCode == REQUEST_CODE && resultCode == RESULT_OK && data != null) {        String result = data.getStringExtra("result_key");        // 在这里处理返回的结果,例如显示在TextView中        TextView resultTextView = findViewById(R.id.result_text_view);        resultTextView.setText(result);    }}

现在,当您点击“启动SecondActivity”按钮时,SecondActivity将启动。当您在SecondActivity中点击“返回数据”按钮时,MainActivity将收到返回的数据,并将其显示在resultTextView中。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号