2013-10-14 3 views
0

Я всегда получаю дефолт в своих общих предпочтениях, почему это происходит? Вот та часть, где я ввожу значение:Общие предпочтения всегда принимают значение по умолчанию

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); 

    } 
+0

Почему вы используете ваши общие привилегии в своем втором активном действии? PreferenceManager.getDefaultSharedPreferences (ChapterActivity.this); –

+0

Как вы получаете 'mContext'? – Kristopher

ответ

1

сделать этот вызов в ваш вторая деятельность тоже, чтобы получить результат:

SharedPreferences prefs = (mContext).getSharedPreferences(
          "com.oxtro.trustea", Context.MODE_PRIVATE); 
+0

Да, теперь он отлично работает. Спасибо! – user2871937

1

onActivityResult в,

Изменить это:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(ChapterActivity.this); 

Для этого:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences("com.oxtro.trustea", Context.MODE_PRIVATE); 

Вы должны держать Предпочтение вашей ссылки последовательны. Когда вы пишете Предпочтение с одним именем, вам необходимо прочитать его с тем же именем.

+0

В этом была проблема, спасибо – user2871937

Смежные вопросы