2012-02-14 1 views
20

私は単純なレイアウトを持っていますが、私は文字列タグだけを設定できます。整数タグを設定するには?XMLレイアウトファイルで整数タグをウィジェットに設定するにはどうすればいいですか?

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:tag="1" 
    android:src="@drawable/image" /> 

UPDATE

私は、XMLレイアウトで整数タグを設定する方法を見つけました。任意のxmlリソースファイルに整数変数を指定する必要があります。それはそのようになります。

のres /値/ value.xmlを:

<?xml version="1.0" encoding="UTF-8"?> 
<resources> 
<integer name="int1">15</integer> 
<integer name="int2">1</integer> 
</resources> 

そして今、私たちはXMLのタグとして "@整数/ INT1" または "@整数/ INT2" を自由に使用することが例えばウィジェット、:

<ImageView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:tag="@integer/int2" 
android:src="@drawable/image" /> 

しかし、私の場合は、プログラムタグを設定することが好ましい:)

+1

あなたがあなたの意図についてもう少し説明することができますか? – Ajay

+0

現在、View.getTag()を使用すると、String "1"を取得します。文字列 "1"ではなく整数1を得るためにxmlレイアウトで何を指定する必要がありますか? –

+0

ImageView にid属性を追加し、コードで取得してView.setTag(1)を使用できますが、xmlレイアウトファイルで整数タグを設定する方法を知りたいと思います。 –

答えて

0

供給View.getTag()と後で検索または検索する文字列を含むこのビューのタグのためのView.findViewWithTag()

ユニコード文字の場合、'\\n'または'\\uxxxx'などのエスケープ文字には、​​を使用して文字列値である必要があります。詳細については

は、あなただけの文字列を設定することができ、XMLでandroid:tag

15

に行きます。しかし、コードでは、オブジェクトを取るのでView.setTag(int value);を使うことができます。あなたは著者の編集からint value = (Integer)view.getTag();

+0

これは私のために働いた、ありがとう! –

+0

これはループ内で使用することができます(子オブジェクトを反復する)、結果が生成されます。 – SadeepDarshana

+0

整数。valueOf(tag)は、問題なく両方を読み込めるようにして、XMLで文字列値を設定し、その後ClassCastExceptionsについて心配することなくIntegersを書くことができるようにする必要があります。 –

4

を整数にキャストする必要がある値を読み取るには、私は整数としてタグを設定する@integer/int2を使用しようとしましたが、まだgetTag()String(少なくとものようにタグを返しているようですゼリービーン)。 Integer.parseInt(String)StringIntegerに、@integer/int2に変換すると、タグが正しくIntegerであることを検証できます。だから、IntegerをXMLでタグに入れたいのであれば、おそらくこれが最適なルートです。欠点は、parseIntを使用しているため、全体としてintとして格納するよりも少し時間がかかる可能性があります。

+0

parseInt()レイアウトを膨らませる:) – comeGetSome

+0

@comeGetSome私は心配していない、ただ言及する。 –

2

私は、XMLでセットアップにタグを次のように使用して、後のコードでそれを扱う:

<?xml version="1.0" encoding="UTF-8"?> 
<resources> 
<string name="item_tag">1</string> 
</resources> 

<!-- TextView with Tag --> 
<TextView 
android:id="@+id/item_with_tag" 
android:tag="@string/item_tag"/> 

// retrieve the tag 
int itemTag = Integer.valueOf((String) textView.getTag()); // itemTag == 1 
関連する問題