2012-08-04 69 views
0

我做的意圖,我已經把裏面的演員2把2個額外的意圖

Intent intent = new Intent(MainActivity.this, Options.class); 
       TextView labelName = (TextView) findViewById(R.id.label1); // value = "Counter1" 
       TextView label2Name = (TextView) findViewById(R.id.label2); // value = "Counter 2" 
       String lblNameDefault = labelName.getText().toString(); 
       String lbl2NameDefault = label2Name.getText().toString(); 
       intent.putExtra(LABEL_NAME_DEFAULT, lblNameDefault); 
       intent.putExtra(LABEL_2_NAME_DEFAULT, lbl2NameDefault); 

在我的其他活動我檢索他們這樣

//Get name from the label 
    Intent intent = getIntent(); 
    String lblNameDefault = intent.getStringExtra(MainActivity.LABEL_NAME_DEFAULT); 
    String lbl2NameDefault = intent.getStringExtra(MainActivity.LABEL_2_NAME_DEFAULT); 



    //Set current name to editText 
    EditText labelNameDefault = (EditText)findViewById(R.id.set_name); 
    EditText label2NameDefault = (EditText)findViewById(R.id.set_name2); 
    labelNameDefault.setText(lblNameDefault, TextView.BufferType.EDITABLE); 
    label2NameDefault.setText(lbl2NameDefault, TextView.BufferType.EDITABLE); 

問題的信息是我收到labelNameDefault和label2NameDefault LABEL_2_NAME_DEFAULT的結果。

我只能通過一個額外的? 我怎麼能通過他們兩個?

默認標籤的值是「計數器1」和label2Name的值是「計數器2」

如果我註釋掉intent.putExtra(LABEL_2_NAME_DEFAULT, lbl2NameDefault);第一標籤名稱是確定的。 它看起來像LABEL_2_NAME_DEFAULT正在覆蓋LABEL_NAME_DEFAULT

+0

我猜測你是否爲這兩種額外增加了相同的價值。如果可能,發佈一些額外的代碼 – kosa 2012-08-04 00:06:15

+0

我認爲@thinksteep正處於正確的軌道上;此外,「LABEL_NAME_DEFAULT」和「LABEL_2_NAME_DEFAULT」的值是什麼? – Eric 2012-08-04 00:06:54

+0

我已經添加了一些更多詳細信息 – DoubleP90 2012-08-04 00:24:21

回答

0

您可以傳遞兩個(或更多)額外的intent。但是,您需要確保LABEL_2_NAME_DEFAULTLABEL_NAME_DEFAULT不具有相同的值。

+0

它們不一樣,LABEL_2_NAME_DEFAULT以某種方式覆蓋我的LABEL_NAME_DEFAULT – DoubleP90 2012-08-04 00:26:12

1

你可以通過一個額外的 '捆綁',而不是單獨的臨時演員,如果你喜歡,例如: -

Intent intent = new Intent(this, MyActivity.class); 
Bundle extras = new Bundle(); 
extras.putString("LABEL_NAME_DEFAULT",lblNameDefault); 
extras.putString("LABEL_2_NAME_DEFAULT",lbl2NameDefault); 
intent.putExtras(extras); 
startActivity(intent); 
Then in your Activity that your triggering, you can reference these like so:- 

Intent intent = getIntent(); 
Bundle extras = intent.getExtras(); 
String username_string = extras.getString("LABEL_NAME_DEFAULT"); 
String password_string = extras.getString("LABEL_2_NAME_DEFAULT"); 
Or (if you prefer):- 

Bundle extras = getIntent().getExtras(); 
String username_string = extras.getString("LABEL_NAME_DEFAULT"); 
String password_string = extras.getString("LABEL_2_NAME_DEFAULT"); 

Hope this helps! :-) 
0

活動一個

Intent intent = new Intent(MainActivity.this, Options.class); 
      TextView labelName = (TextView) findViewById(R.id.label1); // value = "Counter1" 
      TextView label2Name = (TextView) findViewById(R.id.label2); // value = "Counter 2" 
      String lblNameDefault = labelName.getText().toString(); 
      String lbl2NameDefault = label2Name.getText().toString(); 
      intent.putExtra("LABEL_NAME_DEFAULT", lblNameDefault); 
      intent.putExtra("LABEL_2_NAME_DEFAULT", lbl2NameDefault); 

活動二

username_string = getIntent().getExtras().getString("LABEL_NAME_DEFAULT"); 
password_string = getIntent().getExtras().getString("LABEL_2_NAME_DEFAULT");