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

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 の作成時にデータとともに ID を追加し、クリックすると ID が返され、それを解析してデータを取得します。しかし、これは見苦しいアプローチのように思えます。

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

ベストアンサー1

ビューメソッドを調べて答えを見つけました。誰かの役に立つかもしれません。

必要な方法は次のとおりです。

setTag() と getTag()

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

おすすめ記事