Swipe Tabs in bestehendes Projekt implementieren

  • 3 Antworten
  • Letztes Antwortdatum
N

neven

Neues Mitglied
0
Halloo Community
happy.gif

Ein Android-Noop hat eine Frage...

Möchte in meine bestehende App swipe-tabs HINZUFÜGEN! Habe ein Tutorial gefunden in welchem dies erklärt ist,
habe es probiert und es funktioniert auch. Allerdings nur in einem neuen Projekt. Beim Versuch diese Funktion
in meine bestehende App zu implementieren bin ich kläglich gescheitert... Das Problem:

Meine Klassen erben alle von der Klasse "Activity". Dem Tutorial nach müssen jedoch die Fragmente von der Klasse "Fragment"
erben. Da es in Java nicht möglich ist von zwei Klassen zu erben, entsteht hier ein Konflikt...

Für eine Hilfestellung die zur Lösung dieses Problems führt, wäre ich meinem Retter unendlich dankbar
happy.gif
 
dann mach aus deinen Activities doch einfach Fragments,
Fragments und Activites haben doch einen ähnlichen Lifecycle und damit sogar ähnliche, wenn nicht sogar gleiche methoden.

Also macht aus "extends Activity" halt ein "extends Fragment".

Danach musst du evtl noch ein paar Anpassungen machen aber im großen und ganzen sollte das eigentlich funktionieren.
 
amfa schrieb:
Danach musst du evtl noch ein paar Anpassungen machen aber im großen und ganzen sollte das eigentlich funktionieren.
Hab ich, aber falsch... Möchte auf FragmentA (Die erste Seite) ein Login machen (mit Hibernate). Und mir dafür die Eingabefelder holen... mit folgendem Code:

public class FragmentA extends Fragment implements OnClickListener {

private Button myLoginBtn;
private Button btnRegister;
private EditText eTextUsername;
private EditText eTextPassword;
String username;
String password;
int schuelerid;

private HttpClient httpclient = null;
private HttpGet httpget = null;
private HttpResponse response = null;

@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
Log.d("VIVZ","onAttach");

}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {

super.onCreateView(inflater,parent,savedInstanceState);
Log.d("VIVZ","onCreateView");

View eTextUsername = inflater.inflate(R.id.editTextUsername, parent, true); // <---- HIER FEHLER
eTextUsername = (EditText) eTextUsername.findViewById(R.id.editTextUsername);

View eTextPassword = inflater.inflate(R.id.editTextPasswd, parent, true);
eTextUsername = (EditText) eTextPassword.findViewById(R.id.editTextPasswd);

View myLoginBtn = inflater.inflate(R.id.editTextUsername, parent, true);
eTextUsername = (Button) myLoginBtn.findViewById(R.id.btnLogin);

myLoginBtn.setOnClickListener(this);

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);


return inflater.inflate(R.layout.fragment_a, parent, false);
}

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);


return inflater.inflate(R.layout.fragment_a, parent, false);
}
 
Ich weiß ja nicht was du da versuchst, aber das sieht mir so aus als würdest du versuchen mit inflate den button zu inflaten, das funktioniert natürlich nicht.

Der Layinflater braucht die Resource ID von einem XML layout nicht von einer View darin.

Versuchs mit View fragmentLayout = inflater.inflate(R.layout.fragment_a, parent, false);

Und dann
fragmentLayout.findViewById(R.id.editTextUsername);

das sollte eigentlich funktionieren
 
Zurück
Oben Unten