Nob*_*sco 18 android android-intent
我正在尝试做一个简单的应用程序Android
.我有两个活动(A
和B
).在B
我只想选择一个date
.
我开始A
,并做:
Intent intent = new Intent();
intent.setClass(this, B.class);
startActivityForResult(intent,1);
Run Code Online (Sandbox Code Playgroud)
然后,在B
,我做:
Intent intent = getIntent();
setResult(RESULT_OK);
intent.putExtra("Date",dateSelected);
finish();
Run Code Online (Sandbox Code Playgroud)
而且,在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");
.....
}
Run Code Online (Sandbox Code Playgroud)
但是data
,和bundle
,是null
.当我调试代码时,我看到在课堂上B
,intent
有Extras
,但是,当我调用finish()
并返回时class A
,这intent
是不可达的.
我怎么解决这个问题?
ρяσ*_*я K 48
试试这个:
然后,在B中,我做:
Intent intent = getIntent();
intent.putExtra("Date",dateSelected);
setResult(RESULT_OK, intent);
finish();
Run Code Online (Sandbox Code Playgroud)
并且,在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");
}
}
Run Code Online (Sandbox Code Playgroud)
在A
onActivityResult方法中
if(null!=data){
Bundle bundle = data.getExtras();
String mydate = bundle.getString("Date");
}
Run Code Online (Sandbox Code Playgroud)
并在 B
Intent returnIntent = new Intent();
returnIntent.putExtra("Date",dateSelected);
setResult(RESULT_OK,returnIntent);
finish();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
38564 次 |
最近记录: |