1

以下を使用してボタンを宣言しています。

Button btn = new Button(this);
btn.setText(itemSet[i]);
btn.setId(i);

クリック時に使用されるカスタム属性を追加する必要があります。

これを達成する方法はありますか?

4

2 に答える 2

6

を使用して、任意のデータをボタンのタグとして添付できますsetTag

String attribute = "Hello";
btn.setTag(attribute);

後でタグを元に戻すことができますgetTag

String attribute = (String) btn.getTag();

複数の値をビューにバインドする必要がある場合は、values/tags.xml で ID を宣言します。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="tag_first" type="id" />
    <item name="tag_second" type="id" />
</resources>

そして、それらを setTag の最初のパラメーターとして使用します。

btn.setTag(R.id.tag_first, "First");
btn.setTag(R.id.tag_second, "Second");

次に、バインドされた値を次のように取得できます。

String first = (String) btn.getTag(R.id.tag_first);
String second = (String) btn.getTag(R.id.tag_second);
于 2013-11-27T03:04:10.877 に答える
1

使用できる組み込みメソッドは、ボタン自体のsetTagメソッドです。タグを使用して、複雑なオブジェクトなど、必要な情報を保存できます。これはすべてのビューで機能します。

    btn.setTag(myObject);

    public void onClick(View view) {
            MyObject myObject = (MyObject)view.getTag();
    }
于 2013-11-27T03:04:23.537 に答える