如何在Android中使用整数资源?

时间:2014-04-02 12:13:42

标签: java android

我试图在值文件夹中使用存储在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呢?

4 个答案:

答案 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);