0

在我的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….谁能告诉这里有什么问题?


Resources.getInteger(R.integer.minUNameLen)这里做给我Cannot make a static reference to the non-static method getInteger(int) from the type Resources

4

4 回答 4

2

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

于 2013-10-27T19:14:16.520 回答
2

这就是您看到的资源 ID。

你需要使用

getResources().getInteger(R.integer.minUNameLen)
于 2013-10-27T19:12:28.420 回答
0

您需要一个Context对象实例来检索Resources对象实例并最终获得所需的资源,在您的情况下为 Integer。

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

作为Activity扩展Context,您可以简单地调用

myActivity.getResources().getInteger(R.integer.yourIntegerID);
于 2013-10-27T19:29:19.360 回答
0

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

于 2013-10-27T19:13:04.047 回答