2016-05-06 6 views
0

habe ich eine RecyclerView alsWie fügt man eine frei bewegliche Textansicht zu einem Element einer Recycler-Ansicht hinzu?

<android.support.v7.widget.RecyclerView 
    android:id="@+id/drawerList" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/nav_header_container" 
    android:layout_marginTop="15dp" /> 

folgt Ich habe ein String-Array wie dieses

<string-array name="my_array"> 
    <item>@string/item_1</item> 
    <!--<item>@string/item_2</item>--> 
    <item>@string/item_3</item> 
    <item>@string/item_4</item> 
    <item>@string/item_5</item> 
    <item>@string/item_6</item> 

Dieser String-Array verwendet wird, um Daten in RecyclerView anzuzeigen. Ich möchte eine Textansicht neben item_4, anzeigen. Ist das möglich? Wie man es macht?

+1

beschreiben Sie Ihr Problem richtig. –

+0

wurde es gelöst? –

Antwort

0

Setzen Sie in Ihrer onBindViewHolder-Methode einfach ein Häkchen für das Element, das Sie anders anzeigen möchten, und tun Sie, was Sie damit machen wollen.

1

Von Activity Pass diese Liste RecyclerView Adapter

try { 
     String[] array = getApplicationContext().getResources().getStringArray(R.array.my_array); 
     List<String> list = new ArrayList<String>(); 
     list = Arrays.asList(array); 

     //pass this list to RecyclerView adapter 

    }catch (Exception e){e.printStackTrace();} 
0

Einige Lösungen:

1.- Sie können eine Zeichenfolge an den vierten Punkt verketten, wenn Sie die Position in den onBindViewHolder überprüfen.

2.- Sie können ein Layout erstellen und es auf OnCreateViewHolder aufblasen, die zwei textViews eins für die Elemente und eins für den Text hat, der daneben geht. Wenn Sie feststellen, dass Sie die zweite Textansicht anzeigen müssen, ändern Sie den Inhalt und die Sichtbarkeit der Textansicht.

<LinearLayout android:orientation="horizontal" 
xmlns:android="http://schemas.android.com/apk/res/android" > 

<TextView 
    android:id="@+id/items" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

<TextView 
    android:id="@+id/textViewNextToItemOfChoice" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:visibility="gone" /> 
</LinearLayout> 

dann auf Code ändern Sie nur die Sichtbarkeit der Textview „textViewNextToItemOfChoice“ und den Inhalt davon.

Ich denke, Sie sollten ein Objekt (Ihr eigenes Modell) machen, anstatt nur ein Array von Strings zu verwenden, um die Liste zu füllen. Auf diese Weise können Sie ein Objekt mit 2 Strings und im Adapter erstellen, wenn Sie prüfen, ob beide Zeichenfolgen angezeigt werden.