整数资源未返回正确的值

时间:2013-10-27 19:09:20

标签: java android

integer.xml我有

<integer name="minUNameLen">6</integer>

在我的代码中我是:

if (uName.trim().length() < R.integer.minUNameLen) {
                Toast.makeText(
                        Splash.this.getApplicationContext(),
                        "Should be Min "+R.integer.minUNameLen+" characters long",Toast.LENGTH_LONG).show();

但是我的代码中没有返回6而是2131165….一个奇怪的数字。 谁能说出这里有什么问题?


here执行Resources.getInteger(R.integer.minUNameLen)会给我Cannot make a static reference to the non-static method getInteger(int) from the type Resources

4 个答案:

答案 0 :(得分:2)

这是你看到的资源ID。

您需要使用

getResources().getInteger(R.integer.minUNameLen)

答案 1 :(得分:2)

使用getResources().getInteger(R.integer.minUNameLen)获取值

答案 2 :(得分:0)

你得到的是变量R.integer.minUNameLen的价值 您需要的是:Activity.getResources().getInteger(R.integer.minUNameLen)

答案 3 :(得分:0)

您需要一个Context对象实例来检索Resources对象实例,最后获得所需的资源,即您的情况下的整数。

myActivity.getContext().getResources().getInteger(R.integer.yourIntegerID);

Activity延伸Context,您只需致电

即可
myActivity.getResources().getInteger(R.integer.yourIntegerID);