web-dev-qa-db-ja.com

Android-ビューにデータを添付する

私のアプリケーションでは、このチュートリアルと同じようにテーブルに動的な行を作成します。 http://en.androidwiki.com/wiki/Dynamically_adding_rows_to_TableLayout

 for(int i = startDay; i < startDay + 7; i++){

      /* Create a TextView to be the row-content. */
      TextView day = new TextView(this);
      day.setText(Integer.toString(i));
      day.setLayoutParams(new LayoutParams(
                LayoutParams.FILL_PARENT,
                LayoutParams.WRAP_CONTENT));

      day.setOnClickListener(new OnClickListener() {
          @Override
          public void onClick(View v) {
              Log.i("Listener: ", "Click");
          }

では、TextViewをクリックすると、クリックイベントを登録できますが、どのTextViewがクリックされたかを確認するにはどうすればよいですか?

イベントで取得したオブジェクトだけでなく、クリックされた日の番号などのデータはありますか?

理想的には、動的に作成するすべてのビューにデータを添付したいと思います。 Javascript jQueryのdata()メソッドのようなもの。

現在、これを解決する方法は1つしかありません。つまり、データを使用してTextView add idを作成し、クリックすると、idを取得して解析し、データを取得します。しかし、それは醜いアプローチとして私を襲います。

Androidビューに任意のデータを添付する方法はありますか?

31
Leonti

ビューメソッドを介して答えが見つかりました。多分それは誰かのために役立つでしょう。

私が必要とした方法は次のとおりです。

setTag()およびgetTag()

http://developer.Android.com/reference/Android/view/View.html#setTag%28Java.lang.Object%29

56
Leonti