在我的活动中,我无法通过Java中的putString访问字符串。这是代码:
private void setButtonListeners()
{
SharedPreferences sp = this.getSharedPreferences("favs", MODE_PRIVATE);
Editor editor = sp.edit();
editor.putString("HelloActivity", "com.example.hiapp.HelloActivity, com.example.hiapp.R.string.byebye");
editor.commit();
}
当我开始活动时,一切正常但不显示字符串的名称,它只显示字符串的位置:com.example.hiapp.R.string.byebye
有关于此的任何想法?我不熟悉putString的用法。谢谢
编辑:截图
编辑2
正如您在问题中所看到的,问题在于:
editor.putString("HelloActivity", "com.example.hiapp.HelloActivity, com.example.hiapp.R.string.byebye");
定义:
putString (String key, String value)
问题在于字符串值。它由以下组成:com.example.hiapp.HelloActivity,它是按钮使您可以访问的活动的名称。 并且:com.example.hiapp.R.string.byebye,这是我想要显示的字符串名称。这是唯一的错误,我不知道如何在不修改putString的情况下显示任何字符串。
正如您在图像中看到的那样,首先显示字符串,然后使用com.example.hiapp.HelloActivity显示一个按钮。但是该字符串没有显示其名称,它显示了它的位置
答案 0 :(得分:0)
应该是:
private void setButtonListeners()
{
SharedPreferences sp = this.getSharedPreferences("favs", MODE_PRIVATE);
Editor editor = sp.edit();
editor.putString("HelloActivity", getString(R.string.byebye));
editor.commit();
}
现在应该可以了。
答案 1 :(得分:0)
更改此
editor.putString("HelloActivity", "com.example.hiapp.HelloActivity, com.example.hiapp.R.string.byebye");
到
editor.putString("HelloActivity", getResources().getString(R.string.byebye));
或
editor.putString("HelloActivity", getString(R.string.byebye));
要包含位置,您也可以尝试:
editor.putString("HelloActivity", getString(R.string.byebye) + " and Location: com.example.hiapp.R.string.byebye");
你正在放置位置。所以它显示的位置。
希望它有所帮助。