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