2015-02-20 3 views
-2

Я показал часть своего кода. Я сохранил значение описания внутри sharedpreferences. когда я проверяю условие if, используя точку останова, оно имеет значение, которое я хочу, чтобы оно имело. но когда я иду через поток, тогда код переходит в состояние else. но я хочу, чтобы он заходил в условие if bz description имеет значение. так как я могу это сделать?Если условие не распознает значение, присваиваемое переменной

public static String description = "descriptionKey"; 
public static String price = "priceKey"; 
public static String quantity = "quantityKey"; 

SharedPreferences sharedpreferences; 

public static final String MyPREFERENCES = "MyPrefs"; 

public void run(View view) { 

    Editor editor = sharedpreferences.edit(); 

    editor.putString("quantity", quantity); 
    editor.putString("price", price); 
    editor.putString("description", description); 

    editor.commit(); 

} 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.cart_activity); 

    sharedpreferences = getSharedPreferences(MyPREFERENCES, 
      Context.MODE_PRIVATE); 

    if (sharedpreferences.contains("description")) { 

     description = sharedpreferences.getString("description", 
       description); 
     quantity = sharedpreferences.getString("quantity", quantity); 
     price = sharedpreferences.getString("price", price); 
    } else { 
     quantity = getIntent().getStringExtra("quantity"); 
     price = getIntent().getStringExtra("price"); 
     description = getIntent().getStringExtra("description"); 
    } 
+2

Необходимо проверить _xxxx.contains ("описание") _? I.e есть значение с ключевым «описанием», которое не содержит ключевой переменной _description_. – harism

+0

Каков тип «sharedpreferences»? –

+0

Я обновил свой код, можно проверить его –

ответ

1

Это должно вероятно быть
if (sharedpreferences.contains("description")) {

+0

все еще идет внутрь еще –

+0

Я обновил свой код. вы можете взглянуть на него –

+0

Почему у вас есть метод 'run' с параметром' View', который пишет материал в SharedPreferences? Параметр не используется, и вы должны выбрать имя, описывающее метод. Где и когда вы называете этот метод? – Alf

1

Изменить следующие строки

if (sharedpreferences.contains(description)) 

в

if (sharedpreferences.contains("description")) 

Надеется, что это поможет вам.

+0

Это именно то, что я уже предложил :-) – Alf

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