onActivityResult无法获取Android 1.6上的数据

时间:2011-06-07 13:53:36

标签: android android-intent

我有两个活动。活动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和更高版本之间是否存在任何差异?

0 个答案:

没有答案