Android &引用;预期类别或包装“;新方法中的SharedReference出错
我不知道这里的问题是什么,Android Studio告诉我,如果出现错误“预期的类或包”部分中的“sharedPref”:Android &引用;预期类别或包装“;新方法中的SharedReference出错,android,Android,我不知道这里的问题是什么,Android Studio告诉我,如果出现错误“预期的类或包”部分中的“sharedPref”: 程序包xyz.myapp; 公共类DetailActivity扩展了AppCompatActivity{ @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_详细信息); ... } 公共void d
程序包xyz.myapp;
公共类DetailActivity扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_详细信息);
...
}
公共void deleteobjects(视图){
Intent=getIntent();
最终字符串标识=intent.getStringExtra(MainActivity.identification);
SharedReferences SharedReferences=GetSharedReferences(“xyz.myapp”,Context.MODE\u PRIVATE);
Map Map=sharedPref.getAll();
对于(Map.Entry:Map.entrySet()){
if(entry.getKey().startsWith(identification+“”)| | entry.getKey()==identification){
remove(entry.getKey());
}
}
NavUtils.navigateUpFromSameTask(本);
}
删除此行:
sharedPref.Editor.remove(entry.getKey());
并将其替换为:
sharedPref.edit().remove(entry.getKey()).apply();
你导入了吗,导入了android.content.SharedReferences;@ViVekH:是的,它被导入了..如果问题是SharedRefer.Editor,你应该使用SharedReference.edit()。你需要在
SharedReferences
上调用edit()
来获得编辑器。你不直接使用这个类。你还需要commit()或apply()
在remove()
之后对您所做的更改执行或apply()
操作。此外,您还需要在中对字符串进行比较,如果与equals()
,而不是=
。谢谢,是edit()而不是Editor做的!我不知道这一点。好的,我将使用equals()而不是==。
sharedPref.edit().remove(entry.getKey()).apply();