如何在android的按钮中存储元数据?
Posted
技术标签:
【中文标题】如何在android的按钮中存储元数据?【英文标题】:How to store metadata in buttons in android? 【发布时间】:2013-07-28 12:03:17 【问题描述】:在我的 android 应用程序中,当我使用 java 代码创建一个按钮时,我希望能够在其中存储一个字符串,然后在按下它时再次获取该字符串。
谁能教我怎么做?
谢谢,
【问题讨论】:
【参考方案1】:您可以使用View.setTag()
和View.getTag()
来存储和检索字符串。因此,当您按下按钮时,您可能会使用方法 onClick(View v)
回调 OnClickListener,因此您可以使用 v.getTag()
在那里检索您的字符串。
【讨论】:
【参考方案2】:首先在 xml 文件中创建按钮(假设为 activity_main.xml)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
tools:context=".MainActivity">
<Button
android:id="@+id/btnMessage"
android:layout_
android:layout_
android:onClick="onClick"
android:text="Click" />
</LinearLayout>
然后您可以从您自己的活动中找到它并从中添加/检索信息。
public class MainActivity extends ActionBarActivity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// find button by id
Button btn = (Button)findViewById(R.id.btnMessage);
// enclose secret message
btn.setTag("Bruce Wayne is Batman");
// this function is triggered when the button is pressed
public void onClick(View view)
// retrieve secret message
String message = (String) view.getTag();
// display message in the console
Log.d("Tag", message);
此方法可用于隐藏信息(例如数据库密钥或超级英雄的秘密身份)。
【讨论】:
以上是关于如何在android的按钮中存储元数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 EXIF/其他元数据插入存储在内存缓冲区中的 JPEG 中?