2016-04-26 68 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");