已知MainActivity布局界面中有一个Button和EditText控件。Button控件的id为
btn_jump.EditText控件
的id为ed_input。当点击
Button时,从MainActivity跳转到SecondActivity,并且完成EditText控件中输入数据的传递。试写出点击
Button时要调用的
onClick(View view)方法。
public class MainActivity extends AppCompatActivity {
private Button button;
private EditText text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=findViewById(R.id.button);
text=findViewById(R.id.input);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String str=text.getText().toString();
Intent intent = new Intent(getApplicationContext(),
SecondActivity.class);
intent.putExtra("msg",str);
startActivity(intent);
}
});
不知道你这个问题是否已经解决, 如果还没有解决的话:// 在MainActivity中定义onClick方法
public void onClick(View view) {
if (view.getId() == R.id.btn_jump) { // 判断点击的按钮是否是跳转按钮
EditText editText = findViewById(R.id.ed_input); // 获取EditText控件
// 创建一个Intent对象,用来跳转到SecondActivity
Intent intent = new Intent(this, SecondActivity.class);
// 把EditText中的输入数据放入Intent中,键为data
intent.putExtra("data", editText.getText().toString());
// 跳转到SecondActivity
startActivity(intent);
}
}
在XML布局文件中,需要为Button和EditText控件设置id:
<Button
android:id="@+id/btn_jump"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="跳转"/>
<EditText
android:id="@+id/ed_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
在SecondActivity中获取传递过来的数据:
// 在SecondActivity中获取传递的数据
String data = getIntent().getStringExtra("data");
注意事项: - EditText控件中要有输入数据,否则传递的数据为空。 - 要在AndroidManifest.xml中注册SecondActivity。 - Intent中putExtra()方法的第一个参数是键,可以自定义,但需要在接收数据时使用同样的键来获取数据。