我目前在标签布局中有一个视图寻呼机
//Get the ViewPager and set it's PagerAdapter so that it can display items
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
viewPager.setAdapter(new SettingsFragmentPagerAdapter(getSupportFragmentManager()));
//Give the TabLayout the ViewPager
TabLayout tabLayout = (TabLayout) findViewById(R.id.sliding_tabs);
tabLayout.setupWithViewPager(viewPager);
然后视图分页器中的片段具有附加了OnClickListeners的TextViews
final TextView zSemTxt = (TextView) getActivity().findViewById(R.id.zSemTxt);
zSemTxt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mSelectedTextView = zSemTxt;
showDialogToSelectClass();
}
});
我的问题是永远不会调用OnClickListeners,看起来所有触摸都会转到ViewPager,并且永远不会进入TextViews。我尝试过像viewPager.requestDisallowInterceptTouchEvent(true);但它没有任何改变。 想法?
答案 0 :(得分:0)
显示更多代码。
可能因为textview = null而无法正常工作。
final TextView zSemTxt = (TextView) getActivity().findViewById(R.id.zSemTxt);
你确定吗?
我看不到你的代码,但试试
final TextView zSemTxt = (TextView) view.findViewById(R.id.zSemTxt);
其中查看是您的片段膨胀视图。
答案 1 :(得分:0)
原来既没有在片段上调用onActivityCreated或onCreateView。 解决方案是转到我用来管理ViewPager显示哪个片段的PageFragment类,并将onClickListeners添加到那里。片段在那里被充气,这就是为什么其他类从未被调用过的原因。