如何以编程方式将附加信息附加到按钮上?我可以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. 添加信息到按钮
- 3. 猫鼬 - 用的附加信息附加
- 4. UITableViewCell附加信息
- 5. 存储信息
- 6. 存储信息
- 7. 存储信息()
- 8. 如何在SCNNode中存储附加信息?
- 9. 使用formview呈现附加信息django
- 10. 信息按钮(i)
- 11. iOS信息按钮
- 12. 如何存储单选按钮的信息?
- 13. 使用多对多集合保存附加信息
- 14. Java - 存储信息
- 15. C#存储信息
- 16. MKAnnotationView Swift添加“信息”按钮
- 17. 使用web.config存储和映射信息
- 18. 使用信息存储列表
- 19. 使用FormsAuthentication.SetAuthCookie存储更多信息
- 20. 使用DynamicObject存储类型信息
- 21. 使用ArrayList存储信息并访问信息
- 22. 传递smpp附加信息
- 23. 附加信息“Elasticsearch.Net.IApiCallDetails Elasticsearch.Net.IBodyWithApiCallDetails.get_CallDetails()”
- 24. 存储保存的信息
- 25. 替代存储信用卡信息
- 26. 第三方存储信用卡信息?
- 27. 如何使用C#加密存储的信息?
- 28. Android按钮详细信息
- 29. rightBarButtonItem信息按钮,右边
- 30. 从按钮获取信息
当我尝试时,我得到一个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