我给LinearLayout设置点击事件,LinearLayout中有一个ImageButton和一个TextView,为什么我点击Imagebutton无法触发点击事件,点击TextView就会触发点击事件?public class MainActivity extends Activity implements OnClickListener {
private ViewPager mViewpager;
private PagerAdapter mAdapter;
private List mViews= new ArrayList();;
private LinearLayout mTabWeixin;
private LinearLayout mTabfrd;
private LinearLayout mTabAdd;
private LinearLayout mTabSet;
private ImageButton mWeixinimg;
private ImageButton mfrdimg;
private ImageButton mAddimg;
private ImageButton mSetimg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
initView();
initEvent();
}
/**
* 事件
*/
private void initEvent() {
mTabWeixin.setOnClickListener(this);
mTabfrd.setOnClickListener(this);
mTabAdd.setOnClickListener(this);
mTabSet.setOnClickListener(this);
}
/**
* View
*/
private void initView() {
mViewpager = (ViewPager) findViewById(R.id.viewpager);
mTabWeixin = (LinearLayout) findViewById(R.id.id_tab_weixin);
mTabfrd = (LinearLayout) findViewById(R.id.id_tab_fid);
mTabAdd = (LinearLayout) findViewById(R.id.id_tab_add);
mTabSet = (LinearLayout) findViewById(R.id.id_tab_set);
mWeixinimg = (ImageButton) findViewById(R.id.id_tab_weixin_img);
mfrdimg = (ImageButton) findViewById(R.id.id_tab_fid_img);
mAddimg = (ImageButton) findViewById(R.id.id_tab_add_img);
mSetimg = (ImageButton) findViewById(R.id.id_tab_set_img);
LayoutInflater mInflater = LayoutInflater.from(this);
View tab01 = mInflater.inflate(R.layout.tab01,null);
View tab02 = mInflater.inflate(R.layout.tab02,null);
View tab03 = mInflater.inflate(R.layout.tab03,null);
View tab04 = mInflater.inflate(R.layout.tab04,null);
mViews.add(tab01);
mViews.add(tab02);
mViews.add(tab03);
mViews.add(tab04);
mAdapter = new PagerAdapter() {
@Override
public int getCount() {
return mViews.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View view =mViews.get(position);
container.addView(view);
return view;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(mViews.get(position));;
}
};
mViewpager.setAdapter(mAdapter);
}
@Override
public void onClick(View v) {
resetImg();
switch (v.getId()){
case R.id.id_tab_weixin:
mViewpager.setCurrentItem(0);
mWeixinimg.setImageResource(R.drawable.tab_weixin_pressed);
break;
case R.id.id_tab_fid:
mViewpager.setCurrentItem(1);
mfrdimg.setImageResource(R.drawable.tab_address_pressed);
break;
case R.id.id_tab_add:
mViewpager.setCurrentItem(2);
mAddimg.setImageResource(R.drawable.tab_address_pressed);
break;
case R.id.id_tab_set:
mViewpager.setCurrentItem(3);
mSetimg.setImageResource(R.drawable.tab_settings_pressed);
break;
}
}
/**
* 将图片切换为暗色
*/
private void resetImg() {
mWeixinimg.setImageResource(R.drawable.tab_weixin_normal);
mfrdimg.setImageResource(R.drawable.tab_find_frd_normal);
mAddimg.setImageResource(R.drawable.tab_address_normal);
mSetimg.setImageResource(R.drawable.tab_settings_normal);
}
}