1

Android/Java 変換に関する質問があります。

onClick を使用して imageView をクリックし、そのタグ (android:tag="2" など) をキャッチします。その後、そのタグを数値として使用して計算できるように、そのタグを int に変換する必要があります。

私はこのようにしようとしています:

public void onClick(View v) {       
        Object viewID =  v.getTag();
        int id =  ((Integer)viewID).intValue();
}

しかし、問題は、「id」変数内で int 値を取得できないことです。エラーは言う:

「java.lang.ClassCastException: java.lang.String は java.lang.Integer にキャストできません」。

「viewID」内のタグを int に変換して「id」内に配置する別の方法を教えてください。

私はアンドロイドが初めてで、あなたの助けに感謝します:)

4

5 に答える 5

4

最初に文字列に変換してからintに変換します

int id =Integer.parseInt( viewID .toString() );
于 2013-05-27T10:41:55.267 に答える
4

私があなたを誤解していなければ

int id = Integer.parseInt((String)viewID);
于 2013-05-27T10:39:37.567 に答える
1

あなたはこれを試すことができます:

public void onClick(View v) {       
    Object viewID =  v.getTag();

    int id = -1;

    if(viewID != null) {
        try {
            id = new Integer(viewID.toString()).intValue();
        } catch(NumberFormatException nfe) {
            // wrong format
        }
    }
}
于 2013-05-27T10:45:05.697 に答える
1

使用Integer.parseInt方法

public void onClick(View v) {       
    int id = 0; // some default value 
    try {
        id = Integer.parseInt(v.getTag());
    } catch (Exception ignored) { }
}

タグに数字が含まれていない場合、このコードはクラッシュしません

于 2013-05-27T10:41:41.387 に答える
0

簡単な使用:

int i = (Integer) viewID ;

または、Java 7 以降では、次のように記述できます。

int i = (int) viewID ;
于 2013-05-27T10:40:50.917 に答える