我从我的工作活动中启动Activity
(PreferenceActivity
的后代)如下:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1458)
loadInfo();
}
void showSettingsDialog()
{
startActivityForResult(new Intent().setClass(this, MyConfigure.class), 1458);
}
MyConfigure
类没有任何setResult()
调用。实际上,MyConfigure
类除了使用addPreferencesFromResource
加载偏好设置的OnCreate()
以外没有任何代码。
现在,在运行MyConfigure
活动后立即使用1458
的requestCode
调用onActivityResult
。在1.6和2.1模拟器以及2.1设备上进行了测试。在PreferenceActivity
中是否有setResult()
的调用?或者还有其他什么原因可以解释这个过早的调用?
public class MyConfigure extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); } }
- Eugene Mayevski 'Callback