我正在尝试为 Android
做一个简单的应用程序。我有两个 Activity (A
和 B
)。在 B
我只想选择一个 date
。
我启动A
,然后:
Intent intent = new Intent();
intent.setClass(this, B.class);
startActivityForResult(intent,1);
然后,在 B
中,我这样做:
Intent intent = getIntent();
setResult(RESULT_OK);
intent.putExtra("Date",dateSelected);
finish();
而且,在 A
中,我有下一个方法:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==RESULT_OK && requestCode==1){
Bundle bundle = getIntent().getExtras();
String aux = bundle.getString("nuevo");
.....
}
但是data
和bundle
都是null
。当我调试代码时,我看到在类 B
中,intent
有 Extras
,但是,当我调用 finish( )
并返回到class A
,这个intent
是不可达的。
我该如何解决这个问题?
最佳答案
试试这个:
然后,在 B 中,我这样做:
Intent intent = getIntent();
intent.putExtra("Date",dateSelected);
setResult(RESULT_OK, intent);
finish();
并且,在 A 中:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_OK && requestCode==1) {
Bundle MBuddle = data.getExtras();
String MMessage = MBuddle.getString("Date");
}
}
关于android - onActivityResult 中的数据为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10533280/