button,和edittext

已知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);
            }
        });
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:
    // 在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()方法的第一个参数是键,可以自定义,但需要在接收数据时使用同样的键来获取数据。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^