Java Android标签活动错误,显示标签4(位置3)时,从位置4开始的活动

时间:2019-03-07 06:57:39

标签: java android android-viewpager tabactivity

我尝试了一切,但没有改变,当显示第4页时,它启动了应该在第5页上的意图,我认为用于页面切换的页面检测效果不佳。另一个问题是,它无法检测到页面2的更改,只有当我转到页面3并返回到页面1时,它才能检测到页面的更改。

MainActivity viewPager代码:

viewPager = new android.support.v4.view.ViewPager(this);
viewPager.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 
ViewGroup.LayoutParams.WRAP_CONTENT));
MyPagerAdapter adapter = new MyPagerAdapter();
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(0);
base.addView(viewPager);
tabLayout = new android.support.design.widget.TabLayout(this);


 tabLayout.setTabGravity(tabLayout.GRAVITY_FILL); tabLayout.setTabMode(tabLayout.MODE_SCROLLABLE);




tabLayout.setSelectedTabIndicatorColor(Color.parseColor("#FFFFFFFF"));




tabLayout.setTabTextColors(Color.parseColor("#FF757575"), Color.parseColor("#FFFFFFFF")); tabLayout.setupWithViewPager(viewPager);
cod.addView(tabLayout);

}
private class MyPagerAdapter extends android.support.v4.view.PagerAdapter {
public int getCount() {
return 5;

}
@Override public Object instantiateItem(ViewGroup collection, int position) {
LayoutInflater inflater = (LayoutInflater) getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.empty, null);
LinearLayout container = (LinearLayout) v.findViewById(R.id.linear1);

if (position == 0) { _animtab1();
ViewGroup parent = (ViewGroup) layout1.getParent();
if (parent != null) {
parent.removeView(layout1);
}
container.addView(layout1); } 

else if (position == 1) { _animtab2();
ViewGroup parent = (ViewGroup) layout2.getParent();
if (parent != null) {
parent.removeView(layout2);
}
container.addView(layout2); } 

else if (position == 2) { _animtab3();
ViewGroup parent = (ViewGroup) layout3.getParent();
if (parent != null) {
parent.removeView(layout3);
}
container.addView(layout3); } 

else if (position == 3) {
ViewGroup parent = (ViewGroup) layout4.getParent();
if (parent != null) {
parent.removeView(layout4);
}
container.addView(layout4); }

else if (position == 4) { tutorial.edit().putString("tutorial", "finish").commit(); 
intent.setClass(getApplicationContext(), HomeActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); finish();
ViewGroup parent = (ViewGroup) 
layout5.getParent();
if (parent != null) {
parent.removeView(layout5);
}
container.addView(layout5); }


collection.addView(v, 0);
return v;
}
@Override public void destroyItem(ViewGroup collection, int position, Object view) {
collection.removeView((View) view);
trash.addView((View) view);
}
@Override public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "1";
case 1:
return "2";
case 2:
return "3";
case 3:
return "4";
case 4:
return "skip";
default:
return null;
}

}
@Override public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);}
@Override public Parcelable saveState() {
return null;
}
}
android.support.v4.view.ViewPager viewPager;
android.support.design.widget.TabLayout tabLayout;
private void foo() { 

0 个答案:

没有答案