android - OnClicklistener 不适用于运行时 View

标签 android view onclick tablelayout tablerow

我在我的应用程序中显示一个在运行时创建的表。我想让它的所有行都可以点击。这里我使用了代码。

            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 没有打印值(value)。请帮忙。我怎样才能使行在运行时 View 中可点击。谢谢。

最佳答案

使您的表格行可点击并附加一个 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() 没有任何参数!这只返回一个对象。您添加了一个整数作为此 View 的标记,因此您可以执行类似的操作

if (((int) tableRow.getTag()) == 1) {
 bla bla
}

关于android - OnClicklistener 不适用于运行时 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5577351/

相关文章:

c# - 将 OnClick 事件添加到 ASP.NET 控件

Android - 转换为 Dalvik 格式失败 : Unable to execute dex: Java heap space

java - 安卓弹跳球

java - 使用 DOM Android 从 Xml 读取 UTF8 和 Cp1256

java - 文本转语音 (android - java) 输出与 Google TTS 输出不同

postgresql - 如何在 VIEW 上使用 TRIM

javascript - 根据 SELECT 更改图像 SRC

view - 从NS文档目录加载图像时, Collection View 崩溃

php - (太多)太多 View 导致问题

javascript - javascript中的事件与事件处理程序