1

可能重复:
如何在 Android 中将对象从一个活动传递到另一个活动

我有两个活动Activity 1Activity 2。对于这两个活动,我有两个 XML 布局 1.xml 和 2.xml。在 1.xml 我有一个Button,在 2.xml 我有TextView. 所以我想要的是点击Button第一个活动,我想打开第二个活动,并且还想在 Activity2 中显示当前Button显示的文本。Textview我的意思是,假设 中的文本Button是“添加”,那么该文本将显示在TextView.

注意:Button在 Activity1 和TextView在 Activity2

4

5 回答 5

2

INTENTIntent用来传递数据,将putExtra()允许你放数据

活动A

Intent myIntent = new Intent(ActivityA.this, Activityb.class);
myIntent.putExtra("key", "value");
startActivity(myIntent); 

活动B

Intent myIntent = getIntent(); // this is just for example purpose
myIntent.getExtra("key");
于 2012-04-05T06:33:31.740 回答
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 + ");  
}
于 2012-04-05T06:40:26.380 回答
2

第一个活动 -

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);
}
于 2012-04-05T06:41:48.563 回答
1

在按钮中开始新活动时,单击下面的代码

Intent intent = new Intent();
intent.putExtra("TextValue", text1.getText().toString());
intent.setClass(Activity1.this, Activity2.class);
startActivity(intent);

在你的 Activity2 中onCreate()

String s = getIntent().getStringExtra("TextValue");
于 2012-04-05T06:42:15.127 回答
0

您需要在您的意图上添加额外的参数。观看这篇文章

于 2012-04-05T06:33:42.143 回答