Ich werde Ihnen zeigen, wie Sie Viewpager in Ihrer Aktivität implementieren und wie man den Adapter auf viewpager setzt und Fragmente in viewpager anzeigt.
Zunächst sollten Sie viewpager auf Ihre Aktivität Layout hinzufügen:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="42dp"
android:background="?attr/colorPrimary"
android:elevation="4dp"
app:tabIndicatorColor="@color/colorAccent"
app:tabMode="fixed"
app:tabTextColor="@color/white"/>
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/tabLayout"/>
</RelativeLayout>
Dann sollten Sie Adapter und tablayout auf Ihre viewpager gesetzt:
ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout);
TrialAdapter adapter = new TrialAdapter(this, getFragmentManager());
viewPager.setAdapter(adapter);
tabLayout.setupWithViewPager(viewPager);
Sie müssen TrialAdapter implementieren wie:
Sie sollten wri te Ihr Fragment wie:
public class TrialFragment extends Fragment {
private View view;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_trial, container, false);
return view;
}
}
Schließlich sollten Sie fragment_trial.xml in Ihrem Layout Ressourcen erstellen:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Trial Fragment"/>
</RelativeLayout>
Ich empfehle Sie verwenden android.app.Fragment
und android.support.v13.app.FragmentStatePagerAdapter
so müssen Sie unten Zeilen hinzufügen zu Ihrer Gradle-Datei (App-Modul):
compile 'com.android.support:support-v13:+' // for FragmentStatePager
compile 'com.android.support:design:23.3.0' // for TabLayout
Viel glück Bruder.
Sie müssen ViewPager verwenden, über URL, die Sie auf Frage geschrieben haben, zeigen Sie alles über Viewpager. Du kannst damit umgehen. –
yeah Ich verstehe generische Struktur, ich habe ein einfaches Beispiel, das diese Klassen in einem neuen Projekt kopiert. Aber ich konnte nicht herausfinden, wie ich alles auf mein bestehendes Projekt aufsetzen sollte. Deshalb habe ich um Hilfe gebeten. –