2014-11-05 4 views
0

У OnCreate У меня есть этот товар, я хочу удалить сохраненные данные после завершения, для preferences.edit().remove("Productsku").commit(); Я помещаю их в нужное место? Когда я сделал что-то связанное с «содержанием», я проверил LogCat, он замирает принести мне внутри «if (productsku != null)»Удаление общих настроек Данные

public class ProductActivity extends FragmentActivity implements 
    OnFocusChangeListener, OnClickListener, NumberPickerDialogListener, 
    AddedToCartDialogListener { 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    Log.d(getClass().getSimpleName(), "onCreate"); 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_product); 

    SharedPreferences preferences1 = PreferenceManager.getDefaultSharedPreferences(this); 
    content=preferences1.getString("Content", ""); 

    SharedPreferences preferences = getSharedPreferences("myPref",MODE_PRIVATE); 
    productsku=preferences.getString("Productsku", ""); 
    Log.d("Productsku",productsku.toString()); 
    if(productsku !=null) 
    { 
     Log.d("StartProductsku","OK"); 
     new GetProductDetailsTask2().execute(); 
     preferences.edit().remove("Productsku").commit(); 
     Log.d("EndProductsku","OK"); 
    } 
    else 
    { 
     if(content !=null) 
     { 
      Log.d("StartContent","OK"); 
      new GetProductDetailsTask1().execute(); 
      preferences1.edit().remove("Content").commit(); 
     } 

private class GetProductDetailsTask2 extends AsyncTask<String, String, Void> { 
    @Override 
    protected void onPreExecute() { 
     layoutProgress.setVisibility(View.VISIBLE); 
    }; 

    @Override 
    protected Void doInBackground(String... params) { 
     if(productsku ==null) 
     { 
      Log.d("Productsku","inside"); 
      product = Product.getSelected(); 
      product.setId(productsku); 
      JSONService.updateProductDetails(product); 
     } 
     else 
     { 
      product=JSONService.getProductDetails(productsku); 

     } 

     return null; 
    } 

    @Override 
    protected void onPostExecute(Void result) { 
     updateUI(); 
     layoutProgress.setVisibility(View.GONE); 
     shortDescription.setVisibility(View.VISIBLE); 
     description.setVisibility(View.VISIBLE); 
    } 
} 
+0

Post полного кода. –

ответ

2

Ваша проблема здесь:

SharedPreferences preferences = getSharedPreferences("myPref",MODE_PRIVATE); 
productsku=preferences.getString("Productsku", ""); 

Второй параметр в getString является значение по умолчанию (значение возвращается, если предпочтение не найдено). Попробуйте сделать следующее:

productsku=preferences.getString("Productsku", ""); 
Log.d("Productsku",productsku.toString()); 
if(!productsku.equals("")) 
{ 
    Log.d("StartProductsku","OK"); 
    new GetProductDetailsTask2().execute(); 
    preferences.edit().remove("Productsku").commit(); 
    Log.d("EndProductsku","OK"); 
} 

Надеется, что это помогает

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