私のAndroidアプリでは、Javaコードでボタンを作成するときに、その中に文字列を保存し、後でボタンを押したときにその文字列を再度取得できるようにしたいと考えています。
誰でもこれを行う方法を教えてもらえますか?
ありがとう、
View.setTag()
andを使用しView.getTag()
て、文字列を格納および取得できます。したがって、ボタンが押されたとき、メソッドを使用して OnClickListener へのコールバックがあるonClick(View v)
可能性が高いため、 を使用してそこで String を取得できますv.getTag()
。
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 など) を隠すのに役立ちます。