viewpager滑动时,tab无法同步问题
This commit is contained in:
@ -34,6 +34,10 @@ public abstract class BaseFragment_ViewPager_Checkable extends BaseFragment_View
|
||||
@IdRes
|
||||
protected abstract int getCheckableGroupId();
|
||||
|
||||
protected boolean getSmoothScroll() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
@ -75,7 +79,7 @@ public abstract class BaseFragment_ViewPager_Checkable extends BaseFragment_View
|
||||
protected boolean handleOnClick(View view) {
|
||||
final int toCheck = mCheckableGroup.indexOfChild(view);
|
||||
if (toCheck != -1) {
|
||||
mViewPager.setCurrentItem(toCheck, false);
|
||||
mViewPager.setCurrentItem(toCheck, getSmoothScroll());
|
||||
return true;
|
||||
}
|
||||
return super.handleOnClick(view);
|
||||
|
||||
@ -63,8 +63,6 @@ public class DownloadManagerActivity extends BaseActivity implements OnClickList
|
||||
TextView downloadmanager_update_number;
|
||||
@BindView(R.id.downloadmanager_ll_download)
|
||||
LinearLayout downloadmanager_ll_download;
|
||||
@BindView(R.id.downloadmanager_ll_send)
|
||||
LinearLayout downloadmanager_ll_send;
|
||||
@BindView(R.id.downloadmanager_ll_update)
|
||||
LinearLayout downloadmanager_ll_update;
|
||||
@BindView(R.id.downloadmanager_slide_line)
|
||||
@ -112,7 +110,7 @@ public class DownloadManagerActivity extends BaseActivity implements OnClickList
|
||||
|
||||
downloadmanager_ll_download.setOnClickListener(this);
|
||||
downloadmanager_ll_update.setOnClickListener(this);
|
||||
downloadmanager_ll_send.setOnClickListener(this);
|
||||
downloadmanager_tv_send.setOnClickListener(this);
|
||||
|
||||
int updateSize = PackageManager.getUpdateList().size();
|
||||
if (updateSize != 0) {
|
||||
@ -192,7 +190,7 @@ public class DownloadManagerActivity extends BaseActivity implements OnClickList
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
switch (view.getId()) {
|
||||
case R.id.downloadmanager_ll_send:
|
||||
case R.id.downloadmanager_tv_send:
|
||||
downloadmanager_viewPager.setCurrentItem(INDEX_SEND);
|
||||
break;
|
||||
case R.id.downloadmanager_ll_download:
|
||||
|
||||
@ -56,6 +56,11 @@ public class NewsFragment extends BaseFragment_ViewPager_Checkable {
|
||||
return R.id.lightgame_tab_viewpager;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean getSmoothScroll() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initFragmentList(List<Fragment> fragments) {
|
||||
fragments.add(new News1Fragment());
|
||||
@ -105,6 +110,7 @@ public class NewsFragment extends BaseFragment_ViewPager_Checkable {
|
||||
@Override
|
||||
protected void onPageChanged(int index) {
|
||||
super.onPageChanged(index);
|
||||
EventBus.getDefault().post(new EBUISwitch(EB_NEWSFRAGMENT_TAG, index));
|
||||
if (index == 0) {
|
||||
DataCollectionUtils.uploadPosition(getActivity(), "资讯", "1", "资讯");
|
||||
} else if (index == 1) {
|
||||
|
||||
@ -6,6 +6,7 @@ import android.support.annotation.Nullable;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.View;
|
||||
import android.widget.CheckedTextView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
@ -53,6 +54,12 @@ public class MessageFragment extends BaseFragment_ViewPager_Checkable {
|
||||
@BindView(R.id.message_slide_line)
|
||||
View mMessageSlideLine;
|
||||
|
||||
@BindView(R.id.message_comment_tv)
|
||||
CheckedTextView mMessageCommentTv;
|
||||
|
||||
@BindView(R.id.message_kefu_tv)
|
||||
CheckedTextView mMessageKefuTv;
|
||||
|
||||
private LinearLayout.LayoutParams mLayoutParams;
|
||||
private int mWidth;
|
||||
private int mKeFuUnreadCount;
|
||||
@ -72,6 +79,11 @@ public class MessageFragment extends BaseFragment_ViewPager_Checkable {
|
||||
return R.id.lightgame_tab_viewpager;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean getSmoothScroll() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initFragmentList(List<Fragment> fragments) {
|
||||
fragments.add(new CommentFragment());
|
||||
@ -206,6 +218,14 @@ public class MessageFragment extends BaseFragment_ViewPager_Checkable {
|
||||
protected void onPageChanged(int index) {
|
||||
super.onPageChanged(index);
|
||||
EventBus.getDefault().post(new EBUISwitch(EB_MESSAGEFRAGMENT_TAG, index));
|
||||
|
||||
if (index == 0) {
|
||||
mMessageCommentTv.setChecked(true);
|
||||
mMessageKefuTv.setChecked(false);
|
||||
} else {
|
||||
mMessageCommentTv.setChecked(false);
|
||||
mMessageKefuTv.setChecked(true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user