0

die Fragmente zeigen einen leeren Bildschirm in der viewpagerHinzugefügt Fragmente viewpager sind leer

diese Bibliothek verwendet für das Hinzufügen von Registerkarten gihub

zu dieser Lösung Geworben für die Fragmente Zugabe adding fragments to viewpager

Hier die ist Code

public class HorizontalNtbActivity extends android.support.v4.app.FragmentActivity { 


@Override 

protected void onCreate(final Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_horizontal_ntb); 


    initUI(); 
} 

private void initUI() { 

    CreateFragment createFragment = new CreateFragment(); 
    GroupFragment groupFragment= new GroupFragment(); 
    HomeFragment homeFragment= new HomeFragment(); 
    ProfileFragment profileFragment = new ProfileFragment(); 
    DashPagerAdapter dashPagerAdapter = new DashPagerAdapter(getSupportFragmentManager(),4); 
    dashPagerAdapter.addFragment(homeFragment); 
    dashPagerAdapter.addFragment(createFragment); 
    dashPagerAdapter.addFragment(profileFragment); 
    dashPagerAdapter.addFragment(groupFragment); 
    final ViewPager viewPager = (ViewPager) findViewById(R.id.vp_horizontal_ntb); 
    viewPager.setAdapter(dashPagerAdapter); 


    final String[] colors = getResources().getStringArray(R.array.tabcolors); 

    final NavigationTabBar navigationTabBar = (NavigationTabBar) findViewById(R.id.ntb_horizontal); 

    final ArrayList<NavigationTabBar.Model> models = new ArrayList<>(); 
    models.add(
      new NavigationTabBar.Model.Builder(

        getResources().getDrawable(R.drawable.ic_first), 
        Color.parseColor(colors[0])) 
        .selectedIcon(getResources().getDrawable(R.drawable.ic_sixth)) 
        .title("Home") 
        .badgeTitle("NTB") 
        .build() 
    ); 
    models.add(
      new NavigationTabBar.Model.Builder(
        getResources().getDrawable(R.drawable.ic_second), 
        Color.parseColor(colors[1])) 
        .selectedIcon(getResources().getDrawable(R.drawable.ic_eighth)) 
        .title("Groups") 
        .badgeTitle("with") 
        .build() 
    ); 
    models.add(
      new NavigationTabBar.Model.Builder(
        getResources().getDrawable(R.drawable.ic_third), 
        Color.parseColor(colors[2])) 
        .selectedIcon(getResources().getDrawable(R.drawable.ic_seventh)) 
        .title("Create") 
        .badgeTitle("state") 
        .build() 
    ); 
    models.add(
      new NavigationTabBar.Model.Builder(
        getResources().getDrawable(R.drawable.ic_fourth), 
        Color.parseColor(colors[3])) 
        .selectedIcon(getResources().getDrawable(R.drawable.ic_eighth)) 
        .title("Profile") 
        .badgeTitle("icon") 
        .build() 
    ); 
    navigationTabBar.setBgColor(Color.parseColor("#424242")); 
    navigationTabBar.setActiveColor(Color.parseColor("#ffffff")); 

    navigationTabBar.setInactiveColor(Color.parseColor("#9E9E9E")); 
    navigationTabBar.setModels(models); 
    navigationTabBar.setViewPager(viewPager, 0); 
    navigationTabBar.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
     @Override 
     public void onPageScrolled(final int position, final float positionOffset, final int positionOffsetPixels) { 

     } 

     @Override 
     public void onPageSelected(final int position) { 
      navigationTabBar.getModels().get(position).hideBadge(); 

      Toast.makeText(HorizontalNtbActivity.this, "" + position, Toast.LENGTH_SHORT).show(); 

     } 

     @Override 
     public void onPageScrollStateChanged(final int state) { 

     } 
    }); 

    navigationTabBar.postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      for (int i = 0; i < navigationTabBar.getModels().size(); i++) { 
       final NavigationTabBar.Model model = navigationTabBar.getModels().get(i); 
       navigationTabBar.postDelayed(new Runnable() { 
        @Override 
        public void run() { 
         model.hideBadge(); 
        } 
       }, i * 100); 
      } 
     } 
    }, 500); 
}} 

Dies ist der Adapter

public class DashPagerAdapter extends FragmentPagerAdapter { 
public final List<Fragment> fragments = new ArrayList<>(); 

public DashPagerAdapter(FragmentManager fm, int NumOfTabs) { 

    super(fm); 
    this.mNumOfTabs = NumOfTabs; 
} 

int mNumOfTabs; 

@Override 
public Fragment getItem(int position) { 
    switch (position) { 
     case 0: { 
      return HomeFragment.newInstance("sdfsdfsdfsdf"); 
     } 
     case 1: { 
      return CreateFragment.newInstance("adfsdfsfd"); 
     } 

     case 2: { 
      return GroupFragment.newInstance("adfsdfsfd"); 
     } 
     case 3: { 
      return ProfileFragment.newInstance("abcd"); 

     } 
     default: 
      return null; 

    } 
} 

public void addFragment(Fragment fragment) { 
    fragments.add(fragment); 
    notifyDataSetChanged(); 
} 

@Override 
public boolean isViewFromObject(final View view, final Object object) { 
    return view.equals(object); 
} 

@Override 
public int getCount() { 
    return 4; 
} 
} 

Dies ist ein Fragment. Alle anderen Fragmente sind ähnlich

public class HomeFragment extends Fragment { 

public HomeFragment() { 
    // Required empty public constructor 
} 


@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.fragment_home, container, false); 
    TextView textView = (TextView) view.findViewById(R.id.homefragmenttextview); 
    textView.setText(getArguments().getString("msg")); 
    // Inflate the layout for this fragment 
    return view; 
} 

public static HomeFragment newInstance(String text) { 

    Bundle args = new Bundle(); 
    args.putString("msg", text); 

    HomeFragment fragment = new HomeFragment(); 
    fragment.setArguments(args); 
    return fragment; 
} 
} 

Hier ist, wie es image for reference

Antwort

0

In Ihrem Adapter sieht, ändern diese

@Override 
public boolean isViewFromObject(final View view, final Object object) 
{ 
    return view.equals(object); 
} 

Zu diesem

@Override 
public boolean isViewFromObject(final View view, final Object object) 
{ 
    return view == object; 
} 
+0

Dies hilft nicht . –

Verwandte Themen