我正在创建一个表,其中每行包含文本以及按钮.现在当按下该按钮时,我想调用一个使用按钮旁边文本值的事件.如何访问该TextView的内容?我可以得到我的按钮的ViewParent,这应该是行,但没有方法访问该视图的孩子.
private OnClickListener updateButtonListener = new OnClickListener(){ public void onClick(View v) { ViewParent parent = v.getParent(); //Here I would like to get the first child of that ViewParent } };
解决方法
如果您可以获得一个ViewParent,您可以将其转换为ViewGroup并获取您需要的视图.你的代码将如下所示:
TextView textView = null; ViewGroup row = (ViewGroup) v.getParent(); for (int itemPos = 0; itemPos < row.getChildCount(); itemPos++) { View view = row.getChildAt(itemPos); if (view instanceof TextView) { textView = (TextView) view; //Found it! break; } }
就是这样,假设你的行中只有一个TextView.