如何在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的按钮中存储元数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 上获取和修改元数据以支持音频文件?

如何读取S3存储桶中每个项目的元数据?

如何将 EXIF/其他元数据插入存储在内存缓冲区中的 JPEG 中?

如何在SQLite中添加自己的PRAGMA语句来存储自定义元数据?

Windows 资源管理器在哪里存储文件元数据?

如何设计统一元数据