我试图在值文件夹中使用存储在fikle中的整数,但有些事情并不正确。这是xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="numb">5</integer>
</resources>
以下是主要活动:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("testLog", R.integer.numb+"");
}
但是当我运行它时输出是:
04-02 14:08:30.044: D/test(14839): 2131099648
为什么我得到5呢?
答案 0 :(得分:2)
使用
int value = getResources().getInteger(R.integer.numb);
有关详细信息,请查看主题整数下的文档。
http://developer.android.com/guide/topics/resources/more-resources.html#Integer
引用文档
资源
Android资源系统会跟踪所有非代码资产 与应用程序相关联。您可以使用此类访问您的 应用程序的资源。您通常可以获取资源 与getResources()相关联的应用程序。
getResources()
是Context
的方法。
答案 1 :(得分:1)
当您从资源访问值时,您需要使用如下所示的getResources()方法,
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("testLog", getResources().getInteger(R.integer.numb) + "" );
}
答案 2 :(得分:0)
试试这个:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("testLog", getResources().getInteger(R.integer.numb)+"");
}
答案 3 :(得分:0)
在活动中使用:
int numb = getResources().getInteger(R.integer.numb);
在片段中使用:
int numb = getActivity().getResources().getInteger(R.integer.numb);