Android 删除共享首选项数据

Android 删除共享首选项数据,android,sharedpreferences,Android,Sharedpreferences,在OnCreate我有这个productsku,我想在完成后删除存储的数据,用于首选项.edit().remove(“productsku”).commit()我是否将它们放在正确的位置?当我做一些与“内容”相关的事情时,我检查了LogCat,它仍然会将我带到“if(productsku!=null)”中 公共类ProductActivity扩展了FragmentActivity实现 OnFocusChangeListener、OnClickListener、NumberPickerDialog

OnCreate
我有这个productsku,我想在完成后删除存储的数据,用于
首选项.edit().remove(“productsku”).commit()我是否将它们放在正确的位置?当我做一些与“内容”相关的事情时,我检查了LogCat,它仍然会将我带到“
if(productsku!=null)
”中

公共类ProductActivity扩展了FragmentActivity实现
OnFocusChangeListener、OnClickListener、NumberPickerDialogListener、,
加碳卤化物发光剂{
@凌驾
创建时的公共void(Bundle savedInstanceState){
d(getClass().getSimpleName(),“onCreate”);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u产品);
SharedReferences preferences1=PreferenceManager.GetDefaultSharedReferences(此);
content=preferences1.getString(“content”,即“”);
SharedPreferences首选项=获取SharedPreferences(“myPref”,MODE_PRIVATE);
productsku=preferences.getString(“productsku”和“”);
Log.d(“Productsku”,Productsku.toString());
if(productsku!=null)
{
Log.d(“StartProductsku”、“OK”);
新的GetProductDetailsTask2().execute();
preferences.edit().remove(“Productsku”).commit();
Log.d(“EndProductsku”、“OK”);
}
其他的
{
如果(内容!=null)
{
日志d(“开始内容”,“确定”);
新的GetProductDetailsTask1().execute();
首选项1.edit().remove(“内容”).commit();
}
私有类GetProductDetailsTask2扩展了异步任务{
@凌驾
受保护的void onPreExecute(){
layoutProgress.setVisibility(View.VISIBLE);
};
@凌驾
受保护的Void doInBackground(字符串…参数){
if(productsku==null)
{
Log.d(“产品SKU”、“内部”);
product=product.getSelected();
product.setId(productsku);
JSONService.updateProductDetails(产品);
}
其他的
{
product=JSONService.getProductDetails(productsku);
}
返回null;
}
@凌驾
受保护的void onPostExecute(void结果){
updateUI();
layoutProgress.setVisibility(View.GONE);
shortDescription.setVisibility(View.VISIBLE);
description.setVisibility(View.VISIBLE);
}
}
您的问题在于:

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");
}
希望能有帮助

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