android onclicklistener 参数 view得何得到父View下别的元素内容

btnTest.setOnClickListener(testCall);//单击事件privateImageView.OnClickListenertestCall=n... btnTest.setOnClickListener(testCall);//单击事件
private ImageView.OnClickListener testCall= new ImageView.OnClickListener(){
@Override
public void onClick(View v) {
v.getParent()....//注释

}
};
xml:
<LinearLayout...
<ImageView id="btnTest"......
<TextView id="textTest"...text="hello world!"

代码是我随便打的示意代码,希望高手能明白我的意思
在注释地方我要得到hello world
可是tv1 = (TextView)v.getParent().findViewById(R.id.textTest);
tv1.getText();
没有findViewById的方法,怎么办
展开
 我来答
匿名用户
2013-09-14
展开全部
View rootView = LayoutInflater.from(mContext).inflate(R.layout.mLayout, null);
tv1 = rootView.findViewById(R.id.textTest);
//上面的mLayout是你的布局文件的名字,如果mLayout是activity中setContentView();中的
//可直接使用 tv1 = (TextView)findViewById(R.id.textTest);
追问
能用的了onclick参数里那个view吗,只有他能得到,因为textview被多次添加,值各不相同,得通过点击的控件得到其相同父下的那个textview
追答
你说的相同的父恐怕程序无法分辨,因为实际上LinearLayout和textview一直没变,变得的只是textview的属性值,而Listview的item每次被加载的时候都会赋予不同的值,说白了只是借用了textview的布局。你的btnTest应该是个Button,所以它的点击事件和Listview没有关系,Listview有那么多item,你随便点一个不相关的Button,程序怎么知道你要处理哪个item呢。想要得到具体的item的值要处理Listview的点击事件,结合Listview的适配器找到被点击的item中的textview的内容,想改变这个值的话得从适配器下手,改变后刷新适配器即可。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
热情的梵人
2013-09-14 · TA获得超过199个赞
知道小有建树答主
回答量:216
采纳率:0%
帮助的人:100万
展开全部
在同一个activity里面,直接以下就可以了吧。
tv1 = (TextView)findViewById(R.id.textTest);
追问
直接用不行,listview每一行就有一个textTest,值还不同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kitencx
2013-09-14 · TA获得超过440个赞
知道小有建树答主
回答量:300
采纳率:0%
帮助的人:210万
展开全部
啊哦,话说不是都已经拿到parent了,那再通过parent.getChildAt()或者是遍历查找即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式