我有两个活动。活动A将被活动A调用,如下所示:
public void onClick(View v) {
Intent i = new Intent(SearchViewLevel2.this, SearchViewLevel3.class);
startActivityForResult(i, 7788);
}
在onCreate()
的活动B中,我有setResult(Activity.RESULT_OK, inti)
。
然后我重写BackButton:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
super.onKeyDown(keyCode, event);
mcontext = getBaseContext();
if (keyCode == KeyEvent.KEYCODE_BACK) {
if(fa.getCheckedPositions().size() > 0) {
checked = true;
}
inti.putExtra("data", checked);
inti.putExtra("mypos", thispos);
return true;
}
return false;
}
在活动A中我onActivityResult()
喜欢这样:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
mContext = getBaseContext();
if (requestCode == 7788) {
if (resultCode == Activity.RESULT_OK) { //until here it comes
boolean l = data.getBooleanExtra("data", false);
// in 1.6 the boolean is false, so it doesn't get any data
if (l) {
CheckBox cb =
(CheckBox)fa.getViewAtIndex(
data.getIntExtra("mypos", -1)).findViewById(10110);
cb.setBackgroundResource(R.drawable.selectionpartial);
}
}
}
}
我的问题是我在Android 1.6中没有获得任何数据,但是在我做的更高版本中。
此代码中1.6和更高版本之间是否存在任何差异?