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

时间:2011-10-01 09:31:43

标签: android

任何人都可以帮助解决我的代码中的问题

活动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");

7 个答案:

答案 0 :(得分:16)

您也可以直接使用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

答案 1 :(得分:4)

<强> 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.

答案 2 :(得分:1)

所给出的答案在这里并没有错,但我认为它们并不完整。使用验证执行此操作的最佳方法是确保从前一个Activity以及savedInstanceState获取额外内容,后者是启动Activity时收到的Bundle数据,如果需要重新创建活动,则可以将其传递回onCreate (例如,方向改变),以便您不会丢失此先前信息。如果未提供数据,则savedInstanceState为null。

  

发送数据 -

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
}

答案 3 :(得分:0)

第一个活动中的

::

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

第二个活动::

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

答案 4 :(得分:0)

使用此代码可能会起作用。

intent.putExtra("Text", view);

活动2:

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

其中0是默认值。

答案 5 :(得分:0)

第一项活动

'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");

答案 6 :(得分:0)

只需将其传递给字符串并进行类型转换