我总是在我的共享偏好中默认,为什么会发生这种情况?这是我插入值的部分:
holder.camera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
RowData rd = getItem(position); //get list_row from i
System.out.println("OnClick Camera");
Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
SharedPreferences prefs = (mContext).getSharedPreferences(
"com.oxtro.trustea", Context.MODE_PRIVATE);
SharedPreferences.Editor prefEditor = prefs.edit();
prefEditor.putString("crit_id_pref",String.valueOf(rd.criteria_id));
prefEditor.commit();
((Activity)mContext).startActivityForResult(takePicture, 0);
}
});
这是我检索其值的地方,该值始终作为默认值而不是所需的值获取:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK)
return;
Uri uri = data.getData();
System.out.println("File path is " + uri.toString());
String path = getRealPathFromURI(uri);
System.out.println("Real path is " + path);
imageupload= new ImageUploadManager(ChapterActivity.this);
imageupload.open();
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(ChapterActivity.this);
String t_critid = preferences.getString("crit_id_pref", "DEFAULT");
System.out.println("@OnActivityResult | shared pref crit id: "+t_critid);
}