如何在Android中将一个Activity的值传递给另一个Activity?

我用AutuCompleteTextView [ACTV]和button创build了一个Activity。 我在ACTV中input一些文字,然后按下button。 我按下button后,我希望活动转到另一个活动。 在第二个活动中,我只想将在ACTV(第一个活动)中input的文本显示为TextView。

我知道如何开始第二个活动,如下所示:

Intent i = new Intent(this, ActivityTwo.class); startActivity(i); 

我已经编码,以获得从ACTVinput的文字。

 AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete); CharSequence getrec=textView.getText(); 

我的问题是如何从第一个活动传递“getrec”(按下button之后)到第二个活动。 后来在第二个活动中收到“getrec”。

请假定我已经使用“onClick(View v)”为button创build了事件处理程序类

您可以使用Bundle在Android中执行相同的操作

创build意图:

 Intent i = new Intent(this, ActivityTwo.class); AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete); String getrec=textView.getText().toString(); //Create the bundle Bundle bundle = new Bundle(); //Add your data to bundle bundle.putString(“stuff”, getrec); //Add the bundle to the intent i.putExtras(bundle); //Fire that second activity startActivity(i); 

现在在第二个活动中从包中检索数据:

 //Get the bundle Bundle bundle = getIntent().getExtras(); //Extract the data… String stuff = bundle.getString(“stuff”); 

将数据从一个活动传递到另一个活动的标准方式:

如果你想从一个活动发送大量的数据到另一个活动,那么你可以把数据放在一个包中,然后使用putExtra()方法传递它。

 //Create the `intent` Intent i = new Intent(this, ActivityTwo.class); String one="xxxxxxxxxxxxxxx"; String two="xxxxxxxxxxxxxxxxxxxxx"; //Create the bundle Bundle bundle = new Bundle(); //Add your data to bundle bundle.putString(“ONE”, one); bundle.putString(“TWO”, two); //Add the bundle to the intent i.putExtras(bundle); //Fire that second activity startActivity(i); 

否则可以直接使用putExtra()来发送数据,使用getExtra()来获取数据。

 Intent i=new Intent(this, ActivityTwo.class); i.putExtra("One",one); i.putExtra("Two",two); startActivity(i); 

这很简单,使用Intent.putExtra将数据传递给您开始的活动。 然后使用Bundle.getExtra来检索它。

有很多这样的问题已经https://stackoverflow.com/search?q=How+to+pass+a+value+from+one+Activity+to+another+in+Android一定要使用search第一次。;

以这种方式实施

 String i="hi"; Intent i = new Intent(this, ActivityTwo.class); //Create the bundle Bundle b = new Bundle(); //Add your data to bundle b.putString(“stuff”, i); i.putExtras(b); startActivity(i); 

开始第二个activity ,在这个class内部使用Bundle值来使用这个代码

 Bundle bundle = getIntent().getExtras(); String text= bundle.getString("stuff"); 

我知道这是迟到了,但如果variables需要跨多个意图访问和修改,最简单的方法是使用单例方式。 定义一个全局variables,所有的意图都可以访问。