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的方法,怎么办 展开
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的方法,怎么办 展开
3个回答
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);
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的内容,想改变这个值的话得从适配器下手,改变后刷新适配器即可。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在同一个activity里面,直接以下就可以了吧。
tv1 = (TextView)findViewById(R.id.textTest);
tv1 = (TextView)findViewById(R.id.textTest);
追问
直接用不行,listview每一行就有一个textTest,值还不同
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
啊哦,话说不是都已经拿到parent了,那再通过parent.getChildAt()或者是遍历查找即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询