警告未经检查的调用'getposition(T)'

时间:2013-12-31 00:55:06

标签: android

我正在应用程序启动时从数据库中检索一些默认值,我正在使用它来设置我的活动中微调项目的选定值。

       if( key.equals("default Altitude Units")) {
           Spinner s = ((Spinner)findViewById(R.id.spinAltitudeUnits));
           ArrayAdapter a = (ArrayAdapter) s.getAdapter();
           s.setSelection( a.getPosition(result.getString(2)));
       }

代码工作正常然而问题是我在Android Studio中收到一条警告说警告未经检查调用'getposition(T)'作为原始类型的成员'android.widget.ArrayAdapter'< / em>在a.getPosition调用。

我很高兴它正在工作但是对于Android和Java是新手我想要了解并尽可能多地从我的代码中消除警告,所以任何帮助摆脱这个警告都是最受欢迎的。

2 个答案:

答案 0 :(得分:3)

你从一些字符串获得位置。在这种情况下刺痛2。 ArrayAdapter可以包含许多类型。例如整数。在你的情况下,不清楚你的ArrayAdapter包含什么。

请改用:

    ArrayAdapter<String> a = (ArrayAdapter<String>) s.getAdapter();

答案 1 :(得分:1)

我相信你需要对ArrayAdapter进行参数化。使用以下代码执行此操作:

ArrayAdapter<String> a = (ArrayAdapter<String>) s.getAdapter();

也就是说,如果您的ArrayAdapter包含字符串。

编辑:woops,几秒钟就被打败了。