Android,意图:将一个包传递给 SecondActivity
Android, Intents: Passed one bundle to SecondActivity
我有一些class。
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();
}
}
我想在另一个 class 中检索一些数据。
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" 捆绑在一起
我收到此错误 "Bundle[mParcelledData.dataSize=68]"。
你能帮帮我吗?
使用默认的 toString 函数打印 Bundle。
如果你只想获取字符串,将其更改为:
Intent i = this.getIntent();
String data = i.getStringExtra("SOME_Data");
如果要打印Bundle的内容,使用这个:
for (String key : bundle.keySet()) {
Object value = bundle.get(key);
Log.d(TAG, String.format("%s %s (%s)", key,
value.toString(), value.getClass().getName()));
}
否则它只使用对象的默认 toString() class,这就是你得到的。
我有一些class。
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();
}
}
我想在另一个 class 中检索一些数据。
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" 捆绑在一起 我收到此错误 "Bundle[mParcelledData.dataSize=68]"。
你能帮帮我吗?
使用默认的 toString 函数打印 Bundle。
如果你只想获取字符串,将其更改为:
Intent i = this.getIntent();
String data = i.getStringExtra("SOME_Data");
如果要打印Bundle的内容,使用这个:
for (String key : bundle.keySet()) {
Object value = bundle.get(key);
Log.d(TAG, String.format("%s %s (%s)", key,
value.toString(), value.getClass().getName()));
}
否则它只使用对象的默认 toString() class,这就是你得到的。