2016-05-06 4 views
0

У меня есть RecyclerView следующимКак добавить плавающее текстовое представление на один элемент вида ресайклера?

<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" /> 

У меня есть массив строк, как этот

<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> 

Эта строка массива используется для отображения данных в RecyclerView. Я хочу отобразить текст вместе с item_4, Возможно ли это? Как это сделать?

+1

Опишите свою проблему правильно. –

+0

Решено ли это? –

ответ

0

В вашем методе onBindViewHolder просто поместите чек для элемента, который вы хотите отобразить по-разному, и сделайте то, что вы хотите с ним сделать.

1

От активность Пасс этот список, чтобы RecyclerView адаптер

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

Некоторые решения:

1.- Вы можете Concat строку 4 пункта, когда вы проверяете позицию в onBindViewHolder.

2.- Вы можете создать макет и раздуть его на onCreateViewHolder, у которого есть два текстовых элемента для объектов, а один для текста, который будет рядом с ним. Когда вы обнаружите, что вам нужно отобразить второе изменение текста, содержимое и видимость текстового просмотра.

<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> 

Тогда на код, который вы просто изменить видимость TextView «textViewNextToItemOfChoice» и содержание его.

Я думаю, вы должны сделать объект (у вас есть модель) вместо того, чтобы просто использовать массив строк для заполнения списка. Таким образом, вы можете создать объект с двумя строками и в адаптере, когда вы проверите, есть ли у него обе строки, которые вы им показываете.

Смежные вопросы