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号