3.14
安卓页面回跳传递参数
•	所花时间:4
•	代码行数:137
•	博客容量:1
•	代码如下:
package com.example.chapter05;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class ActResponse extends AppCompatActivity implements View.OnClickListener {
    private TextView tv_request;
    private TextView tv_response;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_act_response);
        tv_request= findViewById(R.id.tv_response2);
        tv_response= findViewById(R.id.tv_response);
        tv_response.setText("我还没睡,我爸妈不在家");
        Bundle bundle =getIntent().getExtras();
        String requestContent = bundle.getString("request_content");
        tv_request.setText(requestContent);
        findViewById(R.id.bt_response).setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
        Intent intent =new Intent();
        Bundle bundle=new Bundle();
        bundle.putString("response","我还没睡,我爸妈不在家");
        intent.putExtras(bundle);
        setResult(Activity.RESULT_OK,intent);
        finish();
    }
}
package com.example.chapter05;
import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultCallback;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class ActRequest extends AppCompatActivity implements View.OnClickListener {
    private TextView requestS;
    private ActivityResultLauncher<Intent> register;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_act_request);
         requestS = findViewById(R.id.tv_requst);
         findViewById(R.id.bt_request).setOnClickListener(this);
         register = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() {
            @Override
            public void onActivityResult(ActivityResult result) {
                if(result!=null && result.getResultCode()== Activity.RESULT_OK){
                    Intent intent =result.getData();
                    if(intent!=null){
                        Bundle bundle =intent.getExtras();
                        String response = bundle.getString("response");
                        requestS.setText(response);
                    }
                }
            }
        });
    }
    @Override
    public void onClick(View v) {
        requestS.setText("你现在在家吗?");
        Intent intent =new Intent(this, ActResponse.class);
        Bundle bundle =new Bundle();
        bundle.putString("request_content",requestS.getText().toString());
        intent.putExtras(bundle);
        register.launch(intent);
    }
}
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号