Navigation Drawer / Activity / Fragment / Listview

M

MichaTz

Neues Mitglied
0
Hallo zusammen,

mein Problem, wo ich jetzt schon mehrere Stunden / Tage vor sitze, ist wie folgt:

Ich habe einen Navigation Drawer (mit einem Main Layout, der bei Klick auf eine Navigationsfläche im Drawer den neuen Inhalt quasi in den :: content_frame :: replaced - Beispiel:

Code:
if (fragment != null) {
            FragmentManager fragmentManager = getFragmentManager();
            fragmentManager.beginTransaction()
                    .replace(R.id.content_frame, fragment).commit();

        } else {
            // error in creating fragment
            Log.e("MainActivity", "Error in creating fragment");
        }

Das funktioniert alles soweit.

Wenn ich aber statt eines Fragments eine Activity im Navigation Drawer verwenden will ( sprich verlinke ) wird immer ein neues Fenster geöffnet, dass den Drawer überdeckt.

Hat hier jemand eine Idee zu, wie ich das verhindern kann?

Meine Idee wäre: NAVIGATION DRAWER -> Link -> lädt Activity -> Activity lädt danach Fragment und übergibt Daten an Fragment

Apps wie z.B. eBay, Facebook oder Amazon nutzen ja im Prinzip auch das was ich als Ziel habe.

Diesen Code verwende ich, wenn man auf einen Link im Navigation Drawer klickt.

Code:
switch ((int)id) {
  case 101:
      Intent intent = new Intent(this,InfoActivity.class);
      startActivity(intent);

Vielen Dank im Voraus. :thumbup:

Micha
 
Zuletzt bearbeitet:
* Beitrag umformuliert
 
Wieso verwendest du denn activities. Mach doch alles in Fragmenten.
 
Mein aktueller NavDrawer ist mit Fragments gebaut.

Ich möchte aber eine ListView, die hinter einem NavDrawer Link ist, programmieren, die Bild und Texte anzeigt. Texte darzustellen habe ich hinbekommen. Wenn ich aber nach Tutorials schaue, wo auch dynamische Bilder zu den Texten dargestellt werden, dann bauen diese alle meist auf Activities (z.B. mit ListViewAdapter Klassen) auf. Die Texte hole ich alle per JSON von einem Webserver, die Bild URLs habe ich auch per JSON geladen, aber eine XML wie folgt funktioniert damit nicht. Über Fragments fehlt mir eine sinnvolle Idee, wie ich die PICURL hier im Beispiel zuweisen kann.

Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp">

<ImageView
    android:id="@+id/picurl"
    android:layout_width="100px"
    android:layout_height="100px"
    android:layout_marginLeft="5px"
    android:layout_marginRight="5px"
    android:layout_marginTop="25px"
    android:layout_marginBottom="5px"
    android:src="@drawable/medien" >
</ImageView>

<TextView
    android:id="@android:id/text1"
    android:paddingTop="10dip"
    android:paddingBottom="10dip"
    android:paddingRight="10dip"
    android:paddingLeft="10dip"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="12dp">
</TextView>

</LinearLayout>

Also dachte ich, ich müsste einen NavDrawer bauen, der pro Link eine eigene Activity öffnen kann, um die ListViewAdapter ansprechen zu können, was ja soweit auch klappt, nur öffnet sich immer ein neues Fenster, durch new Intent();

Vielleicht ist mein Ansatz ja auch völlig falsch.
 

Anhänge

  • cc.png
    cc.png
    26,2 KB · Aufrufe: 255
Zuletzt bearbeitet:
Das kannst du auch alles genau wie bei activities auch in fragmenten nachbauen. Ich empfehle dir wirklich nur mit Fragmenten zu arbeiten und nur eine MainActivity zu haben.

Using lists in Android (ListView) - Tutorial

Statt der Activity einfach ein Fragment nehmen und statt onCreate => onCreateView
 
  • Danke
Reaktionen: MichaTz

Ähnliche Themen

A
  • AnimaAngelo85
Antworten
1
Aufrufe
337
swa00
swa00
A
Antworten
10
Aufrufe
1.022
swa00
swa00
Tiefkuehlpizza
Antworten
2
Aufrufe
956
Tiefkuehlpizza
Tiefkuehlpizza
Zurück
Oben Unten