Android listview单击时崩溃(相对布局中的listview)
此程序在relativelayout中生成列表视图, Listview进展顺利,但当我点击一个项目时,它崩溃了(在这里,应该是祝酒词) 在调试模式下,代码在粗体行崩溃(即RelativeLayout relativeLayoutChild=(RelativeLayout)relativeLayoutParent.getChildAt(1);)Android listview单击时崩溃(相对布局中的listview),android,android-layout,android-listview,Android,Android Layout,Android Listview,此程序在relativelayout中生成列表视图, Listview进展顺利,但当我点击一个项目时,它崩溃了(在这里,应该是祝酒词) 在调试模式下,代码在粗体行崩溃(即RelativeLayout relativeLayoutChild=(RelativeLayout)relativeLayoutParent.getChildAt(1);) 我认为您应该通过以下方式从布局(您选择的行)获取您的子窗口小部件: TextView tvId = (TextView) container.findVi
我认为您应该通过以下方式从布局(您选择的行)获取您的子窗口小部件:
TextView tvId = (TextView) container.findViewById(R.id.tv_id);
onItemClick()
方法中的第二个参数表示行视图(在您的示例中是lv_layout.xml)。每行都有自己的lv_layout.xml布局
因此,您可以通过此方法直接访问每行的每个子窗口小部件(它会在单击的位置自动返回整个rowView)。我认为您应该通过以下方式从布局(您选择的行)中获取子窗口小部件:
TextView tvId = (TextView) container.findViewById(R.id.tv_id);
onItemClick()
方法中的第二个参数表示行视图(在您的示例中是lv_layout.xml)。每行都有自己的lv_layout.xml布局
因此,您可以通过此方法直接访问每行的每个子窗口小部件(它会在单击的位置自动返回整个rowView)。更改以下行
**RelativeLayout relativeLayoutChild = (RelativeLayout ) relativeLayoutParent.getChildAt(1);**
到
更改以下行
**RelativeLayout relativeLayoutChild = (RelativeLayout ) relativeLayoutParent.getChildAt(1);**
到
视图容器
是您的lv_layout.xmlrelativeLayoutChild
是不必要的,relativeLayoutParent
的子级将是您的文本视图。您正在尝试将tv\u coordination\u details
转换为相对位置。视图容器是您的lv\u layout.xmlrelativeLayoutChild
是不必要的,relativeLayoutParent
的子级将是您的文本视图。您正试图将tv\u-coordination\u-details
转换为一个相对的布局。我不确定,但我认为您没有线性布局。LogCat输出告诉您正在尝试将TextView强制转换为RelativeLayout。。。删除错误行并尝试TextView tvId=(TextView)relativeLayoutParent.getChildAt(0)代码>我不确定,但我认为你没有一个线性布局。LogCat输出告诉您正在尝试将TextView强制转换为RelativeLayout。。。删除错误行并尝试TextView tvId=(TextView)relativeLayoutParent.getChildAt(0)代码>嘿,谢谢它现在工作了,但是你能解释一下我的方法有什么问题吗…嘿,谢谢它现在工作了,但是你能解释一下我的方法有什么问题吗。。。
TextView tvId = (TextView) container.findViewById(R.id.tv_id);
**RelativeLayout relativeLayoutChild = (RelativeLayout ) relativeLayoutParent.getChildAt(1);**
**TextView tv_coordinate_details= (TextView ) relativeLayoutParent.getChildAt(1);**
TextView tvId = (TextView) relativeLayoutParent.getChildAt(0);