1

実行時に作成されるテーブルをアプリケーションに表示しています。すべての行をクリック可能にしたい。ここではコードを使用しました。

            tableRow.addView(payeeNameText);
            tableRow.addView(dueDateButton);
            tableRow.setTag(1);
            accountBillsTL.addView(tableRow);

            public void onClick(View v) {
            // TODO Auto-generated method stub
            if(v == (View)tableRow.getTag(1)){
               System.out.println("Row Clicked");
            }
            }

しかし、行をクリックしても何も起こりません。LogCatでは値が出力されません。助けてください。ランタイムビューで行をクリック可能にするにはどうすればよいですか。ありがとう。

4

2 に答える 2

2

テーブルの行をクリック可能にし、onClick リスナーをアタッチします

tableRow.setClickable(true)
tableRow.setOnClickListener(new View.OnClickListener(){
 public void onClick(View view){
   System.out.println("Row Clicked with tag " + view.getTag()); 
 }
})

注意: view.getTag() には引数がありません! これはただのオブジェクトを返します。このビューのタグとして整数を追加したので、次のようなことができます

if (((int) tableRow.getTag()) == 1) {
 bla bla
}
于 2011-04-07T07:34:26.440 に答える
0

作成した「ランタイム ビュー」のリスナーを追加していない可能性があります。

yourView.setOnClickListener(this);  
于 2011-04-07T07:24:29.790 に答える