ListFragment mit Custom Adapter

Ich habe setup eine listfragment in meinem Projekt. aber es scheint, mein fragment cant get es mit meinem richtigen adapter. es ist, weil der Context context im MyListAdapter. wenn ich klicken Sie auf, um es zu korrigieren. es ändert in MenuFragment menuFragment. Aber nach, dass die änderungen, die MyListAdapter bekam Fehler. damit ich es korrigieren. es ändert in Context context. und wenn ich nochmal korrigieren, Ihr geht immer noch auf und auf. seine looping so.

Hinweis: Was ich erreichen möchte ist ListFragment mit Symbol. wie meine andere Frage vor (die aber leider niemand beantworten).

public class MenuFragment extends ListFragment {


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    return super.onCreateView(inflater, container, savedInstanceState);  
    }

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

     String [] proMenu ={ "Homies", "Best Nearby", "Coupon" , "Profile" , "History" , "", "Setting" ,
               "About" , "Sign Out"};

     setListAdapter(new MyListAdapter(this, proMenu));

}

@Override
public void onListItemClick(ListView lv, View v, int position, long id) {
    Fragment newContent = null;
    switch (position) {
    case 0:
        newContent = new ColorFragment();
        break;
    case 1:
        Intent intent7 = new Intent();
        intent7.setClass(getActivity(), Home.class);
        intent7.putExtra("index", position);
        startActivity(intent7);
        break;

EDIT : Dies ist mein layout. das ist völlig in Ordnung. ich muss nur zwicken Sie den textview und linearen Aufbau, so dass das Wort nicht in der Hälfte geschnitten. aber ich bin vor ein weiteres problem. es ist wie das Bild im hintergrund Türmen sich gegenseitig. dies ist die xml auf meinem layout.

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal" 
android:cacheColorHint="#00000000" 
android:background="@drawable/menu_drawer">  

<ImageView
    android:id="@+id/row_icon"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:padding="10dp"
    android:src="@drawable/ic_launcher" />

<TextView
    android:id="@+id/row_title"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:gravity="center_vertical"
    android:padding="10dp"
    android:text="Medium Text"
    android:textSize="20dp"
    android:textAppearance="@android:style/TextAppearance.Medium" />

</LinearLayout>

ListFragment mit Custom Adapter

Und wenn ich zu entfernen dieses android:background="@drawable/menu_drawer" von der linear layout. es wird der perfekte hintergrund. nicht stapeln sich gegenseitig. aber wenn ich swiping in der Liste, die im hintergrund die Nüsse gehen, ist Sie Weg und es zeigt einen schwarzen hintergrund. es ist wie das problem mit listview -android:cacheColorHint="#00000000". ich schon Hinzugefügt, dass cachecolor im linear layout. aber seine noch mit diesen schwarzen hintergrund. es ist wie dieser.

ListFragment mit Custom Adapter

ich wissen, was das problem werden. seine weil die Standard-hintergrund ist schwarz. aber ich weiß nicht, wie es zu lösen.

EDIT2 : Black Problem Gelöst.

GELÖST.

Erstens, verwenden Sie android:layout_height="50dp" für die Zeilenhöhe daher ist es normal, dass der text abgeschnitten werden, wie es kann nicht passen, die Höhe(vor allem als Sie ein 20dp Größe(verwenden Sie sp statt)). Verwenden wrap_content für die Zeilenhöhe. Zweitens, die cacheColorHint - Attribut verwendet werden muss auf die ListView und nicht die Zeile hintergrund(man kann es im code).
danke. Sie ersparte mir eine Menge. eigentlich habe ich 1 Letzte Frage. wie, um Platz zu schaffen zwischen Geschichte und Einstellung. also die 3-Liste werden in der unteren (Einstellung über & sign out).
Wenn, dass ist eine Art Menü, dann sind Sie besser dran, durch den Austausch der ListView mit einem LinearLayout enthalten wird, die Zeilen, so konnte Sie breitete Sie auseinander, wie Sie wollen. Sie konnte noch immer tun Sie es mit der ListView durch die Berechnung der genauen Speicherplatz benötigt, für den Bildschirm und das hinzufügen eine zusätzliche leere Zeile mit dieser Höhe.
danke. ich aktualisierte die Frage 😀 eigentlich ist es das Menü. slidemenu von jfeinstein10
Ich sagte, legen Sie eine einzelne leere Zeile für die Sie die Berechnung der richtigen Höhe ist. Sie sollten wirklich anfangen, eine neue Frage zu diesem.

InformationsquelleAutor Nicolas | 2013-04-11

Schreibe einen Kommentar