我聲明瞭用一個按鈕:在Android中如何使用新的Button()設置自定義屬性?
Button btn = new Button(this);
btn.setText(itemSet[i]);
btn.setId(i);
我需要補充的是將在點擊要使用的自定義屬性。
有沒有辦法做到這一點?
我聲明瞭用一個按鈕:在Android中如何使用新的Button()設置自定義屬性?
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();
如果需要多個值綁定到一個視圖,在值/標籤.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="tag_first" type="id" />
<item name="tag_second" type="id" />
</resources>
聲明ID和使用它們作爲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();
}
但是,如果我需要多個標籤呢? –
嗨,弗朗西斯科,我編輯了我的答案,並添加了多個值的版本。 –
看起來不錯。但是爲什麼你不要在類中聲明tag-id是靜態的呢?在xml中聲明它們會更好嗎? –