2013-11-27 35 views

回答

2

您可以使用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); 
+0

但是,如果我需要多個標籤呢? –

+0

嗨,弗朗西斯科,我編輯了我的答案,並添加了多個值的版本。 –

+0

看起來不錯。但是爲什麼你不要在類中聲明tag-id是靜態的呢?在xml中聲明它們會更好嗎? –

1

一個內置的可用於在按鈕本身setTag方法方法。您可以使用標籤來存儲您想要的任何信息,包括複雜的對象。這適用於所有視圖。

btn.setTag(myObject); 

    public void onClick(View view) { 
      MyObject myObject = (MyObject)view.getTag(); 
    } 
相關問題