Android 具有不同项目内容的Listview

Android 具有不同项目内容的Listview,android,listview,Android,Listview,如何使用不同的项目内容创建listView,我想为特定项目添加简单的imageView,为其他特定项目添加动画gif。我该怎么办 谢谢以下是两个教程: 您需要有一个包含列表视图的活动。 activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" and

如何使用不同的项目内容创建listView,我想为特定项目添加简单的imageView,为其他特定项目添加动画gif。我该怎么办


谢谢

以下是两个教程:

您需要有一个包含列表视图的活动。 activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <ListView
        android:id="@+id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:divider="@color/list_divider"
        android:dividerHeight="1dp"
        android:listSelector="@drawable/list_row_selector" />

</RelativeLayout>

和一个列表视图行xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/list_row_selector"
    android:padding="8dp" >

    <!-- Thumbnail Image -->
    <com.android.volley.toolbox.NetworkImageView
        android:id="@+id/thumbnail"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignParentLeft="true"
        android:layout_marginRight="8dp" />

    <!-- Movie Title -->
    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/thumbnail"
        android:layout_toRightOf="@+id/thumbnail"
        android:textSize="@dimen/title"
        android:textStyle="bold" />

    <!-- Rating -->
    <TextView
        android:id="@+id/rating"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/title"
        android:layout_marginTop="1dip"
        android:layout_toRightOf="@+id/thumbnail"
        android:textSize="@dimen/rating" />

    <!-- Genre -->
    <TextView
        android:id="@+id/genre"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/rating"
        android:layout_marginTop="5dp"
        android:layout_toRightOf="@+id/thumbnail"
        android:textColor="@color/genre"
        android:textSize="@dimen/genre" />

    <!-- Release Year -->
    <TextView
        android:id="@+id/releaseYear"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:textColor="@color/year"
        android:textSize="@dimen/year" />

</RelativeLayout>

尝试为ListView添加自定义适配器。例如:

public class MyAdapter extends BaseAdapter {


    @Override
    public View getView(int positon, View view, ViewGroup viewGroup) {
        return null; //**return the custom View you want here**.
        //if (positon == firstKindOfViewPosition) {
        //    return firstKindOfView;
        //} else if (positon == secondKindOfViewPosition) {
        //    return secondKindOfView;
        //}
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

    @Override
    public int getCount() {
        return 0;
    }

}
然后,您可以将此适配器添加到ListView以显示所需的任何视图


。您可以在此处获得更多信息。

可能会有所帮助。谢谢您的回复,但我知道如何创建自定义列表视图。我的问题是,例如,如何在我的第一个项目中放入一个动画gif,接下来的第十个项目中放入一个简单的imageview,接下来的一个项目中放入一个动画gif等等…?看看这个添加gif图像的例子,我的问题不是如何播放我的gif(谢谢你的帖子),但是在我的listView中,如何让项目具有简单的jpg图像,有时只有我的gif?当您将列表项目添加到列表视图时,您可以设置一些逻辑,在适配器类中添加jpg/gif。我已经有了一个自定义适配器,在我的json字符串中,我有用于我的listView的元素(图像、文本…),有时只是一个动画gif。因此,我知道如何将动画gif或简单的图像和文本放入我的自定义适配器,但我不知道如何使用不同的内容项制作我的listView?我写了20分钟的评论,然后我发现你的问题下的评论提供的解决方案比我的答案好得多。你试过吗?一切都很好。我找到了解决方案,我使用两种布局来显示我的gif和每个自定义项目的简单图像。非常感谢你的帮助