你好,我想从Mainactivity.java调用一个对象(用户名,名称,帖子)到Main2Activity.java
第一种布局:用户输入在此处写名称,用户名和帖子,然后单击按钮
第二种布局:用户给出的信息显示在页面上
我想保存名称,用户名和帖子以用于第二版面
public class MainActivity extends AppCompatActivity {
public String username;
public String name;
public String posts;
EditText usernameinput;
EditText nameinput;
EditText postsinput;
Button confirme;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
usernameinput = (EditText)findViewById(R.id.username);
nameinput = (EditText)findViewById(R.id.name);
postsinput = (EditText)findViewById(R.id.posts);
confirme = (Button)findViewById(R.id.confirme);
username = usernameinput.getText().toString();
confirme.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
name = nameinput.getText().toString();
posts = postsinput.getText().toString();
Intent otheractivity = new Intent(getApplicationContext(),Main2Activity.class);
startActivity(otheractivity);
finish();
showToast(name);
showToast(username);
showToast(posts);
}
});
}
private void showToast(String text){
Toast.makeText(MainActivity.this,text,Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:1)
使用意图将数据从一个活动传递到另一个活动,或者如果可以使用片段,则使用捆绑软件。 遵循这些教程-https://developer.android.com/training/basics/firstapp/starting-activity#java
您必须更改代码。
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
intent.putStringExtra("key1","editetextvalue")
intent.putStringExtra("key2","editetextvalue2")
startActivity(intent);
and get value in a second activity.
Intent intent = getIntent();
String key = intent.getStringExtra("key1")
please remember if you pass these key exact same get key other not get
答案 1 :(得分:1)
将数据从一个活动传递到第二个活动的许多方法,例如使用 Intent 将数据从一个活动传递到另一个活动,另一种方法是使用 sharedpreference 存储数据并获取将其存储在任何位置,然后将数据存储在静态变量
中使用意图传递数据
MainActivity.java
nameEt = (EditText) findViewById(R.id.name_et);
mobileEt = (EditText) findViewById(R.id.mobile_et);
submitBtn = (Button) findViewById(R.id.submit_btn);
submitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
name=nameEt.getText().toString();
mobile_number=mobileEt.getText().toString();
Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
intent.putExtra("name",name);
intent.putExtra("mobile",mobile_number);
startActivity(intent);
}
});
SecondActivity
nameTv = (TextView) findViewById(R.id.name_tv);
mobileTv = (TextView) findViewById(R.id.mobile_tv);
String name,mobile_number;
//get Intent data
name=getIntent().getStringExtra("name");
mobile_number=getIntent().getStringExtra("mobile");
nameTv.setText(name);
mobileTv.setText(mobile_number);
使用静态变量
MainActivity.java 公共静态字符串名称; 公共静态字符串mobile_number;
nameEt = (EditText) findViewById(R.id.name_et);
mobileEt = (EditText) findViewById(R.id.mobile_et);
submitBtn = (Button) findViewById(R.id.submit_btn);
submitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
name=nameEt.getText().toString();
mobile_number=mobileEt.getText().toString();
Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
}
});
SecondActivity.java
nameTv = (TextView) findViewById(R.id.name_tv);
mobileTv = (TextView) findViewById(R.id.mobile_tv);
nameTv.setText(MainActivity.name);
mobileTv .setText(MainActivity.mobile_number);