如何以編程方式將附加信息附加到按鈕上?我可以mButton.setText(「新文本」)來更改文本,但是我希望能夠添加更多的字段,以便當您單擊按鈕時,您可以獲取這些額外的字段並使用數據。我該怎麼做?使用按鈕存儲附加信息
1
A
回答
7
使用View.setTag(INT鍵,對象標記)字段和方法。
您可以稍後使用getTag(int key)檢索它。
在你的XML:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="id"
name="string_key" />
<item type="id"
name="boolean_key" />
</resources>
在您的代碼:
//I'd like to store String s and Boolean b in the button.
button.setTag(R.id.string_key, s);
button.setTag(R.id.boolean_key, b);
//Now, I'd like to retrieve the data in new fields.
String new_s = (String) button.getTag(R.id.string_key);
Boolean new_b = (Boolean) button.getTag(R.id.boolean_key);
1
你總是可以擴展Button類,並添加你需要
+0
請不要這樣做。或者至少不要讓我繼承你的代碼,並且必須維護和修復它。 – 2011-04-28 15:37:00
0
您可以使用Tag屬性。給它分配一個字符串[如果你有多個值使用管道字符(|)並稍後分割]或者你可以分配一個對象。
相關問題
- 1. 屬性用於存儲附加信息
- 2. Solr:在哪裏存儲附加信息?
- 3. 添加信息到按鈕
- 4. 貓鼬 - 用的附加信息附加
- 5. 點擊單選按鈕時顯示/隱藏附加信息
- 6. UITableViewCell附加信息
- 7. 存儲信息()
- 8. 存儲信息
- 9. 如何在SCNNode中存儲附加信息?
- 10. 使用formview呈現附加信息django
- 11. 信息按鈕(i)
- 12. iOS信息按鈕
- 13. 如何存儲單選按鈕的信息?
- 14. 使用多對多集合保存附加信息
- 15. 存儲應用信息
- 16. Azure存儲信息
- 17. Java - 存儲信息
- 18. 存儲卡信息
- 19. C#存儲信息
- 20. 使用DynamicObject存儲類型信息
- 21. 使用FormsAuthentication.SetAuthCookie存儲更多信息
- 22. 使用web.config存儲和映射信息
- 23. 使用信息存儲列表
- 24. scrapy使用mongodb存儲信息
- 25. 本地存儲信息不使用NSUserDefaults
- 26. Laravel爲用戶添加附加信息
- 27. 在ASP.NET MVC應用程序中以用戶身份存儲附加信息
- 28. MKAnnotationView Swift添加「信息」按鈕
- 29. 使用ArrayList存儲信息並訪問信息
- 30. 附加信息「Elasticsearch.Net.IApiCallDetails Elasticsearch.Net.IBodyWithApiCallDetails.get_CallDetails()」
當我嘗試時,我得到一個IllegalArgumentStatement,「密鑰必須是特定於應用程序的資源ID」。 – Roger 2011-04-28 15:44:45
我的錯誤!該ID需要在xml中聲明以確保它是唯一的。有關詳細信息,請參閱http://developer.android.com/guide/topics/resources/more-resources.html#Id「 – Cephron 2011-04-28 15:55:33
另外,如果您只需要存儲一個字段,則可以使用setTag(Object tag)和getTag() - 但你似乎想要存儲多個字段,這就是爲什麼需要id。 – Cephron 2011-04-28 15:57:31