我有一个父视图LinearLayout我添加了一个子视图TextView,但每当我点击子视图时,为什么还要点击parentview。我想要的是区分是否只点击了父项并且仅点击了子视图。
LinearLayout rlmain = (LinearLayout)findViewById(R.id.linearLayout1);
rlmain.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
}
});
TextView tv = (TextView )findViewById(R.id.TextViewLayout1);
tv.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
}
});
答案 0 :(得分:0)
然后尝试首先在Activity中实现View.OnClickListener,然后尝试覆盖
@Override
public void onClick(View v){
if(v.getId().equals(R.id.linearLayout1) {
//do ur stuffs
} else {
//do your stuffs
}
希望它会对你有所帮助。 :)
答案 1 :(得分:0)
在android中,ViewGroups(即通过继承的所有布局)使用属性(和相应的xml属性):addStatesFromChildren
如果设置,父级将被设置为与其子视图相同的状态。
答案 2 :(得分:0)
试试这段代码......
LinearLayout rlmain = (LinearLayout)findViewById(R.id.linearLayout1);
rlmain.setOnClickListener(this);
TextView tv = (TextView )findViewById(R.id.TextViewLayout1);
tv.setOnClickListener(this)
@Override
public void onClick(View v){
switch(v.getId()) {
case R.id.TextViewLayout1:
//do ur stuffs
break;
case R.id.linearLayout1:
//do ur stuffs
break;
}
}