自定义ArrayAdapter

时间:2017-04-07 20:23:46

标签: android android-layout android-adapter

我有两种不同类型的视图用于不同的行,一种视图用于加载内容。对于我想要的第一行使用medicResults1数组,对于我想要的其他行使用medicResults2数组。在result1和result2加载之前,进度条会加载。

在教程中,对于一个视图和进度条,它执行以下操作:

private static final int ITEM = 0;
private static final int LOADING = 1;
private boolean isLoadingAdded = false;

private List<LastMedicResult1> medicResults1;
private List<LastMedicResult2> medicResults2;

@Override
public int getItemViewType(int position) {
    return (position == medicResults1.size() - 1 && isLoadingAdded) ? LOADING : ITEM;
}

我无法理解这段代码。这里的立场是什么?我怎么能得到这样的东西:

@Override
public int getItemViewType(int position) {
    if(medicResults1) return ITEM
    elseif(medicResults2) return ITEM2
    else return LOADING 
}

xml代码也是:

<android.support.v7.widget.RecyclerView
    android:id="@+id/main_recycler1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="5dp"
    android:paddingBottom="5dp"
    android:clipToPadding="false"
    android:clipChildren="false"
    tools:listitem="@layout/service_list1"/>

<ProgressBar
    android:id="@+id/main_progress"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"/>

我还必须为第二个数组(medicResults2)创建另一个像这样的RecyclerView吗?:

<android.support.v7.widget.RecyclerView
    android:id="@+id/main_recycler2"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="5dp"
    android:paddingBottom="5dp"
    android:clipToPadding="false"
    android:clipChildren="false"
    tools:listitem="@layout/service_list2"/>

<android.support.v7.widget.RecyclerView
    android:id="@+id/main_recycler1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="5dp"
    android:paddingBottom="5dp"
    android:clipToPadding="false"
    android:clipChildren="false"
    tools:listitem="@layout/service_list1"/>

<ProgressBar
    android:id="@+id/main_progress"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"/>

0 个答案:

没有答案