在eclipse中无法从Object转换为int

时间:2015-02-12 06:41:13

标签: java android eclipse

在我的Android应用程序中,位于以下行:

int add= (int) arg0.getTag();

收到错误:

Cannot cast from Object to int

当我将int替换为integer时,会在下面的行中收到另一个错误:

sp = (Spinner) findViewById(add);

错误是:

The method findViewById(int) in the type Activity is not applicable for the arguments (R.integer)

请建议我,希望得到答复。

由于

4 个答案:

答案 0 :(得分:2)

  

无法从Object转换为int

因为当前正在投放getTag()响应,将对象返回int

使用Integer.parseInt将字符串解析为Integer:

int add= Integer.parseInt(arg0.getTag().toString());

如果使用try-catch

传递emp或无效的int字符串,还要在‎NumberFormatException块中包装解析行来处理setTag

答案 1 :(得分:0)

要从对象获取int值,您可以执行以下操作 -

int i = ((Integer) arg0.getTag()).intValue();

在Android中,您不能使用普通整数作为findViewById()的参数。要获得对类中微调器的引用,您可能已经定义了这样的 -

Layout.xml

<Spinner
android:id="@+id/planets_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

.java

Spinner spinner = (Spinner) findViewById(R.id.planets_spinner);

有关详细信息,请结帐Android Spinner Guide

答案 2 :(得分:0)

尝试使用此方法? findViewByTag();

答案 3 :(得分:0)

您可以将JDK compiler version更新为1.7或更高版本,也可以将Integer.parseInt更新为解析字符串为Integer即可。