2015年4月7日火曜日

[Android] TextViewを疑似hiddenとして使う

一覧表示などで、一覧中のどの行をタップしたか取得したいケースはままあるかと思います。その場合、HTMLでは<input type="hidden">に隠しパラメータ(この場合は行番号)をもたせておくという方法がよく採用されますが、これと同じようなことをAndroidアプリで行いたい時にどうするか。一つの方法は非表示にしたTextViewを使うことです。

<!-- visibility="gone"を指定すれば単に非表示になるだけでなく、あたかも存在しないかのように扱われる -->
<TextView
android:id="@+id/hidden_parameter"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
view raw gistfile1.xml hosted with ❤ by GitHub
ポイントはandroid:visibility="gone"の指定です。この指定によって、TextViewは単に非表示になるだけでなく、レイアウト上、あたかも存在しないかのように扱われます。しかし、値を保持する箱としては使えますので、疑似hiddenのように扱うことができます。

このTextViewへの値の取得、設定は下記のようになります(一例)。


TextView hidden = (TextView)findViewById(R.id.hidden_parameter);
// 値の取得
String value = hidden.getText();
// 値の設定
hidden.setText("Some Value");
view raw gistfile1.java hosted with ❤ by GitHub

0 件のコメント:

コメントを投稿