6

在我的 android 应用程序中,当我使用 java 代码创建一个按钮时,我希望能够在其中存储一个字符串,然后在按下它时再次获取该字符串。

谁能告诉我如何做到这一点?

谢谢,

4

2 回答 2

14

您可以使用View.setTag()andView.getTag()来存储和检索字符串。因此,当您按下按钮时,您可能会使用方法回调 OnClickListener,onClick(View v)因此您可以使用v.getTag().

于 2013-07-28T18:38:02.817 回答
3

首先在 xml 文件中创建按钮(假设为 activity_main.xml)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    tools:context=".MainActivity">

        <Button
            android:id="@+id/btnMessage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            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);
    }
}    

此方法可用于隐藏信息(例如数据库密钥或超级英雄的秘密身份)。

于 2015-04-03T02:01:06.527 回答