我在我的应用程序中显示一个在运行时创建的表。我想让它的所有行都可以点击。我在这里使用了代码。
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上没有打印值。请帮忙。如何使用运行时视图使行可单击。感谢。
答案 0 :(得分: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
}
答案 1 :(得分:0)
您可能没有为您创建的“运行时视图”添加侦听器。
yourView.setOnClickListener(this);