2016-04-26 71 views
0

我有一些課。Android,意圖:通過一捆到SecondActivity

public class MainActivity extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Intent newintent = new Intent(getApplicationContext(),Main2Activity.class); 
    newintent.putExtra("SOME_Data", "Perfect_Data"); 
    startActivity(newintent); 
    finish(); 
} 
} 

我想檢索另一個類中的一些數據。

public class Main2Activity extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main2); 

    Intent i = this.getIntent(); 
    Bundle s = getIntent().getExtras(); 

} 
} 

但是,當我推出這個代碼,而不是用字符串 「Perfect_Data」 捆綁 - 我得到這樣的:捆綁[mParcelledData.dataSize = 68]。到底是怎麼回事?你可以幫我嗎?

回答

0

,使用此:

for (String key : bundle.keySet()) { 
    Object value = bundle.get(key); 
    Log.d(TAG, String.format("%s %s (%s)", key, 
     value.toString(), value.getClass().getName())); 
} 

否則它只是使用了默認的Object類的toString(),這就是你所得到的。

0

使用默認的toString函數打印Bundle。

如果你只是想要得到的字符串,將其更改爲:如果你要打印捆綁的內容

Intent i = this.getIntent(); 
String data = i.getStringExtra("SOME_Data");