可能重复:
How to pass object from one activity to another in Android
实际上我有两个活动活动1和活动2.对于这两个活动,我有两个xml布局1.xml和2.xml。在1.xml中,我有一个Button
,在2.xml中我有TextView
。所以我想要的是点击Button
,这是我想要打开第二个活动的第一个活动,并且还希望在活动2中的Button
上显示Textview
中的文本显示。我的意思是说假设Button
中的文字是“ADD”,那么此文本将显示在TextView
中。
注意:Button
在Activity1上,TextView
在Activity2上
答案 0 :(得分:2)
使用Intent尝试:
在按钮上的活动1中点击:
Intent intent = new Intent(Activityone.class, Activitytwo.class);
intent.putExtra("value2","world");
startActivity(intent);
在活动2中:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String value1 = super.getIntent().getExtras().getString("value1");
myTextView.setText("value1: " + value1 + ");
}
答案 1 :(得分:1)
INTENT使用Intent
传递数据,putExtra()
将允许您放置数据
<强> ActivityA 强>
Intent myIntent = new Intent(ActivityA.this, Activityb.class);
myIntent.putExtra("key", "value");
startActivity(myIntent);
<强> ActivityB 强>
Intent myIntent = getIntent(); // this is just for example purpose
myIntent.getExtra("key");
答案 2 :(得分:1)
第一项活动 -
Button btn = (Button)findViewById(R.id.button1);
b.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String passingdata = textview.getText().toString();
Intent i = new Intent(Activity1.this, Activity2.class);
Bundle b = new Bundle();
b.putString("Key", passingdata);
i.putExtras(b);
startActivity(i);
}
});
第二项活动 -
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
Bundle b = getIntent().getExtras();
String receivingdata = b.getStringExtra("Key");
TextView tv = (TextView)findViewById(R.id.secondtext);
tv.setText(receivingdata);
}
答案 3 :(得分:1)
在按钮中启动新活动时,请点击下面的代码
Intent intent = new Intent();
intent.putExtra("TextValue", text1.getText().toString());
intent.setClass(Activity1.this, Activity2.class);
startActivity(intent);
在onCreate()
String s = getIntent().getStringExtra("TextValue");
答案 4 :(得分:0)
您需要在意图上加上额外的参数。观看this article。