两个布局:
java代码:
初始界面
注意下面我加粗的代码,定义一个String 类型的对象用来接收EditText输入的字符串,然后放进intent中传递走。由于之前我习惯把要用到的对象都在主类中先实例好,再在其他方法里调用,结果点击后怎么也传不到下一个activity里面。后论坛求助经过网友的帮助,将String对象放在点击事件onClick()里声明就行了,或者不用这个对象接收字符,直接把getText()放入intent中传走也可以。
public class MainActivity extends AppCompatActivity {
private Button btn_send;
private EditText edt_msg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_send= (Button) findViewById(R.id.btn_send);
edt_msg= (EditText) findViewById(R.id.edt_msg);
btn_send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String msg =edt_msg.getText().toString();
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("data",msg);
startActivity(intent);
}
});
}
}
String msg =edt_msg.getText().toString();
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("data",msg);
startActivity(intent);
}
});
}
}
跳转界面
public class SecondActivity extends AppCompatActivity {
private TextView tv_show;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
tv_show = (TextView) findViewById(R.id.tv_show);
Intent intent = this.getIntent();
String s=intent.getStringExtra("data");
tv_show.setText(s);
}
}