ViewPager - Seitenauswahl per Button

  • 0 Antworten
  • Letztes Antwortdatum
M

Manuel1805

Ambitioniertes Mitglied
2
Hallo zusammen,

ich schreibe zur Zeit eine Buchführungs-Tutorial-App. In dieser verwende ich für die einzelnen Kapitel einen ViewPager. Die Unterkapitel möchte ich mit einem Onclicklistener auswählen können. Kann mir jemand sagen wie ich das mit meinem Code verwirklichen kann?

Vielen Dank und best Grüße

Manuel

Code:
package de.manuel.buchenfueranfaenger;
import android.app.Fragment;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Sinn extends Fragment {
public Sinn() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.start_kapitel, container, false);
// ViewPager initialisieren
SinnPageAdapter adapter = new SinnPageAdapter(this.getActivity());
ViewPager viewPager = (ViewPager) view.findViewById(R.id.viewPager);
viewPager.setAdapter(adapter);
// starte mit erstem Layout
viewPager.setCurrentItem(0);
return view;
}
}

Im folgenden Code soll die Seitenauswahl per Button implementiert werden:

Code:
package de.manuel.buchenfueranfaenger;
import android.content.Context;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class SinnPageAdapter extends PagerAdapter {
Context context;
public SinnPageAdapter(Context context) {
this.context = context;
}
// Punkte für Fragen 1 -6
public int punkt1;
public int punkt2;
public int punkt3;
public int punkt4;
public int punkt5;
public int punkt6;
public int summePunkte;
// ---Die Anzahl aller Seiten zurückgeben---
public int getCount() {
return 10;
}
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position) {
case 0:
resId = R.layout.sinn;
break;
case 1:
resId = R.layout.sinn1;
break;
case 2:
resId = R.layout.sinn2;
break;
case 3:
resId = R.layout.sinn3;
break;
case 4:
resId = R.layout.sinn4;
break;
case 5:
resId = R.layout.sinn_test_4_button;
break;
case 6:
resId = R.layout.sinn5;
break;
case 7:
resId = R.layout.sinn6;
break;
case 8:
resId = R.layout.sinn7;
break;
case 9:
resId = R.layout.sinn8;
break;
}
View view = inflater.inflate(resId, null);
java.lang.Integer resIdInteger = resId; // in Integer umwandeln da sonst
// kein Vergleich möglich
if (resIdInteger.equals(R.layout.sinn)) {
// ******************************
// * Seite 1 Layout sinn *
// ******************************
 
[B]//Hier einen Button der z.B. per Click Case 5 aufruft...[/B]
 
TextView tvInhalt = (TextView) view.findViewById(R.id.sinn_inhalt);
CharSequence inhaltText = Html
.fromHtml("In dieser Lektion lernst Du"
+ " die ersten Grundbegriffe und Aufgaben der Buchführung kennen. "
+ "Die folgenden Themen schauen wir uns nun an."
+ "<br/>" + "<br/>1. Überblick" + "<br/>2. Bilanz"
+ "" + "<br/>3. Inventur / Inventar"
+ "<br/>4. Bewertungsgrundsätze"
+ "<br/>5. Buchführungspflicht");
tvInhalt.setText(inhaltText);
}
// ******************************
// * Seite 2 Layout sinn1 *
// ******************************
else if (resIdInteger.equals(R.layout.sinn1)) {
// Titel befüllen
TextView tv1Titel = (TextView) view.findViewById(R.id.sinn1_titel);
CharSequence titel1Text = Html.fromHtml("1.Überblick");
tv1Titel.setText(titel1Text);
// Inhalt befüllen
TextView tv1Inhalt = (TextView) view
.findViewById(R.id.sinn1_inhalt);
CharSequence inhalt1Text = Html
.fromHtml("Die Buchführung verschafft dem Unternehmer, "
+ "dem Finanzamt und fremden Dritten "
+ "einen Überblick über die Vermögensverhältnisse des "
+ "Unternehmens. " + "<br/><br/>");
tv1Inhalt.setText(inhalt1Text);
}
...
...
...
 
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public Parcelable saveState() {
return null;
}
// animieren implementieren
/*
* public void animieren(View view) { Animation animScale =
* AnimationUtils.loadAnimation(context, R.anim.button_gedrueckt);
* view.startAnimation(animScale); //
* view.findViewById(R.id.antwort1).startAnimation(animScale);
* 
* }
*/
}
 
Zurück
Oben Unten