mViewPage.setCurrentItem(mData.size()-1) 設置默認選項出現問題.

package?com.imooc.weixin;
import?java.util.ArrayList;
import?java.util.List;
import?android.graphics.Color;
import?android.os.Bundle;
import?android.support.v4.app.Fragment;
import?android.support.v4.app.FragmentActivity;
import?android.support.v4.app.FragmentPagerAdapter;
import?android.support.v4.view.ViewPager;
import?android.support.v4.view.ViewPager.OnPageChangeListener;
import?android.util.DisplayMetrics;
import?android.util.Log;
import?android.view.Display;
import?android.view.ViewGroup.LayoutParams;
import?android.view.Window;
import?android.widget.ImageView;
import?android.widget.LinearLayout;
import?android.widget.TextView;
import?com.jauker.widget.BadgeView;
public?class?MainActivity?extends?FragmentActivity?{
private?ViewPager?mViewPager;
private?FragmentPagerAdapter?mAdapter;
private?List<Fragment>?mDatas;
private?TextView?mChatTextView;
private?TextView?mFriendTextView;
private?TextView?mContactTextView;
private?LinearLayout?mChatLinearLayout;
private?BadgeView?mBadgeView;
private?ImageView?mTabline;
private?int?mScreen1_3;
private?int?mCurrentPageIndex;
@Override
protected?void?onCreate(Bundle?savedInstanceState)?{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
initTabLine();
initView();
mViewPager.setCurrentItem(mDatas.size()-1);
}
private?void?initTabLine()?{
mTabline?=?(ImageView)?findViewById(R.id.id_iv_tabline);
Display?display?=?getWindow().getWindowManager().getDefaultDisplay();
DisplayMetrics?outMetrics?=?new?DisplayMetrics();
display.getMetrics(outMetrics);
mScreen1_3?=?outMetrics.widthPixels?/?3;
LayoutParams?lp?=?mTabline.getLayoutParams();
lp.width?=?mScreen1_3;
mTabline.setLayoutParams(lp);
}
private?void?initView()?{
mViewPager?=?(ViewPager)?findViewById(R.id.id_viewpager);
mChatTextView?=?(TextView)?findViewById(R.id.id_tv_chat);
mFriendTextView?=?(TextView)?findViewById(R.id.id_tv_friend);
mContactTextView?=?(TextView)?findViewById(R.id.id_tv_contact);
mChatLinearLayout?=?(LinearLayout)?findViewById(R.id.id_ll_chat);
mDatas?=?new?ArrayList<Fragment>();
ChatMainTabFragment?tab01?=?new?ChatMainTabFragment();
FriendMainTabFragment?tab02?=?new?FriendMainTabFragment();
ContactMainTabFragment?tab03?=?new?ContactMainTabFragment();
mDatas.add(tab01);
mDatas.add(tab02);
mDatas.add(tab03);
mAdapter?=?new?FragmentPagerAdapter(getSupportFragmentManager())?{
@Override
public?int?getCount()?{
return?mDatas.size();
}
@Override
public?Fragment?getItem(int?arg0)?{
return?mDatas.get(arg0);
}
};
mViewPager.setAdapter(mAdapter);
mViewPager.addOnPageChangeListener(new?OnPageChangeListener()?{
@Override
public?void?onPageSelected(int?position)?{
resetTextView();
switch?(position)?{
case?0:
if?(mBadgeView?!=?null)?{
mChatLinearLayout.removeView(mBadgeView);
}
mBadgeView?=?new?BadgeView(MainActivity.this);
mBadgeView.setBadgeCount(7);
mChatLinearLayout.addView(mBadgeView);
mChatTextView.setTextColor(Color.parseColor("#008000"));
break;
case?1:
mFriendTextView.setTextColor(Color.parseColor("#008000"));
break;
case?2:
mContactTextView.setTextColor(Color.parseColor("#008000"));
break;
}
mCurrentPageIndex?=?position;
}
@Override
public?void?onPageScrolled(int?position,?float?positionOffset,
int?positionOffsetPx)?{
Log.e("TAG",?position?+?"?,?"?+?positionOffset?+?"?,?"
+?positionOffsetPx);
LinearLayout.LayoutParams?lp?=?(android.widget.LinearLayout.LayoutParams)?mTabline
.getLayoutParams();
if?(mCurrentPageIndex?==?0?&&?position?==?0)//?0->1
{
lp.leftMargin?=?(int)?(positionOffset?*?mScreen1_3?+?mCurrentPageIndex
*?mScreen1_3);
}?else?if?(mCurrentPageIndex?==?1?&&?position?==?0)//?1->0
{
lp.leftMargin?=?(int)?(mCurrentPageIndex?*?mScreen1_3?+?(positionOffset?-?1)
*?mScreen1_3);
}?else?if?(mCurrentPageIndex?==?1?&&?position?==?1)?//?1->2
{
lp.leftMargin?=?(int)?(mCurrentPageIndex?*?mScreen1_3?+?positionOffset
*?mScreen1_3);
}?else?if?(mCurrentPageIndex?==?2?&&?position?==?1)?//?2->1
{
lp.leftMargin?=?(int)?(mCurrentPageIndex?*?mScreen1_3?+?(positionOffset?-?1)
*?mScreen1_3);
}
mTabline.setLayoutParams(lp);
}
@Override
public?void?onPageScrollStateChanged(int?arg0)?{
//?TODO?Auto-generated?method?stub
}
});
}
protected?void?resetTextView()?{
mChatTextView.setTextColor(Color.BLACK);
mFriendTextView.setTextColor(Color.BLACK);
mContactTextView.setTextColor(Color.BLACK);
}
}mViewPager.setCurrentItem(mDatas.size()-1);
這一行
只要是設置了默認選中最后一頁的時候,就會出現這個問題.不是最后的一頁就不會.