Activity之间的数据传递
问题的介绍:在一个Activity中启动另一个Activity时,将当前的Activity的数据传送到即将被启动的另一个Activity,并将其显示在界面。 解决方案:利用到Bundle的数据的封装的能力,传递需要传送的数据 第一个页面添加一个按钮和输入文本控件
main_activity.xml
activity_main.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1 = findViewById(R.id.button1);
EditText editText = findViewById(R.id.textview1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(MainActivity.this,second_fragment.class);
Bundle bundle = new Bundle();
bundle.putString("editText",editText.getText().toString());
intent.putExtras(bundle);
startActivity(intent);
}
});
}
第二个页面添加一个显示文本控件textview
second_activity.java
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_fragment);
Button button2 = findViewById(R.id.button2);
TextView textView = findViewById(R.id.textView2);
Bundle bundle = this.getIntent().getExtras();
String text = bundle.getString("editText");
textView.setText(text);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
|