以下を使用してボタンを宣言しています。
Button btn = new Button(this);
btn.setText(itemSet[i]);
btn.setId(i);
クリック時に使用されるカスタム属性を追加する必要があります。
これを達成する方法はありますか?
以下を使用してボタンを宣言しています。
Button btn = new Button(this);
btn.setText(itemSet[i]);
btn.setId(i);
クリック時に使用されるカスタム属性を追加する必要があります。
これを達成する方法はありますか?
を使用して、任意のデータをボタンのタグとして添付できます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);
使用できる組み込みメソッドは、ボタン自体のsetTagメソッドです。タグを使用して、複雑なオブジェクトなど、必要な情報を保存できます。これはすべてのビューで機能します。
btn.setTag(myObject);
public void onClick(View view) {
MyObject myObject = (MyObject)view.getTag();
}