如何将int值从一个活动传递给另一个活动

任何人都可以帮助我的代码中有什么问题

活动1:

int view=1; TabFunctionality.setFirstTabFunctionality(TabFunctionality.FIRST_TAB, 1); Intent intent = new Intent(AdultTeeth.this, MainScreen.class); Bundle b = new Bundle(); b.putInt("TEXT", view); intent.putExtras(b); startActivityForResult(intent, TEETH_VIEW); finish(); 

活动2:

 Bundle b = this.getIntent().getExtras(); int view=b.getInt("TEXT"); 

Related of "如何将int值从一个活动传递给另一个活动"

你也可以直接使用putExtra。

活动1

 Intent intent = new Intent(AdultTeeth.this, MainScreen.class); intent.putExtra("int_value", int_variable); startActivity(intent); 

活动2

 Intent intent = getIntent(); int temp = intent.getIntExtra("int_value", 0); // here 0 is the default value 

Passactivity:

  Intent i = new Intent(view.getContext(), Passactivity.class); i.putExtra("font",selected_font); startActivity(i); 

正在接受活动

private int my_size;

  Intent i = getIntent(); my_size = i.getIntExtra("size",20); // 20 for default value. 

给出的答案在这里没有错,但在我看来是不完整的。 使用validation来做到这一点的最好方法是确保额外的内容来自前一个Activity以及在启动Activity时收到的Bundle数据的savedInstanceState,如果需要重新创build活动,可以传回onCreate (如方向改变),这样你就不会失去这个先前的信息。 如果没有提供数据,savedInstanceState为空。

发送数据 –

 Intent intent = new Intent(context, MyActivity.class); intent.putExtra("name", "Daenerys Targaryen"); intent.putExtra("number", "69"); startActivity(intent); 

接收数据 –

 @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.myactivity); int no; String na; if(savedInstanceState == null){ Bundle extras = getIntent().getExtras(); if(extras != null){ no = Integer.parseInt(extras.getString("number")); na = extras.getString("name"); } }else{ no = (int) savedInstanceState.getSerializable("number"); na = (String) savedInstanceState.getSerializable("name"); } // Other code } 

在第一次活动::

 intent1.putExtra("key",int_score); startActivity(intent1); 

第二活动::

  Intent i1 = getIntent(); int temp = i1.getIntExtra("key",1); int temp = i1.getIntExtra("tranningscore2", 1); 

在第一个活动

 'Intent i = new Intent(name_class.this, name_class.class); 

i.putExtra( “valu1”,valu1); i.putExtra(“value2”,valu2);

第二活动::

Bundle bundle = this.getIntent()。getExtras();

  String valu1 =bundle.getString("value1"); String value2 = bundle.getString("value2"); 

只是传递它像一个string和types化它

使用这个代码可能是它的工作。

 intent.putExtra("Text", view); 

活动2:

 int i = getIntent().getIntExtra("Text", 0); 

其中0是默认值。