6

私のAndroidアプリでは、Javaコードでボタンを作成するときに、その中に文字列を保存し、後でボタンを押したときにその文字列を再度取得できるようにしたいと考えています。

誰でもこれを行う方法を教えてもらえますか?

ありがとう、

4

2 に答える 2

14

View.setTag()andを使用しView.getTag()て、文字列を格納および取得できます。したがって、ボタンが押されたとき、メソッドを使用して OnClickListener へのコールバックがあるonClick(View v)可能性が高いため、 を使用してそこで String を取得できます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);
    }
}    

このメソッドは、情報 (データベース キーやスーパーヒーローの秘密の ID など) を隠すのに役立ちます。

于 2015-04-03T02:01:06.527 に答える