我在Android中使用默认活动,您可以选择“可滚动标签+滑动”作为导航类型。滑动后如何确定当前显示的选项卡?
我在班级DummySectionFragment
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_starting_dummy,
container, false);
TextView dummyTextView = (TextView) rootView
.findViewById(R.id.section_label);
dummyTextView.setText(Integer.toString(getArguments().getInt(
ARG_SECTION_NUMBER)));
switch(getArguments().getInt(ARG_SECTION_NUMBER))
{
case 1: // do something
....
}
但它不起作用,因为这种方法onCreateView
在滑动后不会被调用。我想有一些简单的方法可以做到,但我找不到它。 (如果它可用于API 8,那将是非常好的)
答案 0 :(得分:1)
要知道何时更改网页,您可以OnPageChangeListener
使用ViewPager
。您可以使用setOnPageChangeListener()
设置此项。
vpPager.setOnPageChangeListener(new OnPageChangeListener() {
// This method will be invoked when a new page becomes selected.
@Override
public void onPageSelected(int position) {}
// This method will be invoked when the current page is scrolled
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}
// Called when the scroll state changes:
// SCROLL_STATE_IDLE, SCROLL_STATE_DRAGGING, SCROLL_STATE_SETTLING
@Override
public void onPageScrollStateChanged(int state) {}
});
答案 1 :(得分:0)
考虑覆盖片段中的setUserVisibleHint()
方法。
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
Log.d(DEBUG_TAG, "Fragment is visiable");
// do something you want
}
}