Java Android Tab Activity Activity, когда отображается вкладка 4 (позиция 3), активность с позиции 4 начинается - PullRequest
0 голосов
/ 07 марта 2019

Я пробовал что-нибудь, но это не меняется, когда отображается 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() { 
...