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 回答