在 Android Studio 中创建一个包含多个对象的列表视图

Posted

技术标签:

【中文标题】在 Android Studio 中创建一个包含多个对象的列表视图【英文标题】:Create a listview With Multiple Objects in Android Studio 【发布时间】:2015-03-28 22:40:09 【问题描述】:

我想创建一个在 android Studio 上显示许多不同内容的列表视图。这样做的目的是根据表单制作者的需要创建一个动态表单,该表单将具有任意数量的 A、B 或 C 类。

因此,表单制作者将获得一个选项列表:A 类、B 类、C 类等,然后他们为每个想要的位置选择多少个位置。例如,假设 A 是“参考”并且表单制作者希望为它提供三个位置,我希望表单为类别 A 提供 3 个位置。

长话短说,如何有一个阵列适配器或可以帮助我解决这个问题的东西?有你们知道的教程吗?

提前致谢!!

【问题讨论】:

【参考方案1】:

您最好的方法是创建一个自定义适配器,并在该适配器中创建一个 Object 类型的集合(或这些类共有的任何超类)。然后,在getView 方法中,根据您从集合中检索到的对象的类型,显示一件事或另一件事。

【讨论】:

【参考方案2】:

你需要创建一个自定义适配器,网上有很多教程。最好的是 http://www.androidhive.info/2014/07/android-custom-listview-with-image-and-text-using-volley/ http://www.vogella.com/tutorials/AndroidListView/article.html

另外我建议你看看 recyclerview 哪个更快。

http://javatechig.com/android/android-recyclerview-example

以下是 customlistadapter 的外观:

public class CustomListAdapter extends BaseAdapter 
    private Activity activity;
    private LayoutInflater inflater;

    public CustomListAdapter(Activity activity, List<obj> item) 
        //set any data you want
    

    @Override
    public int getCount() 
        return item.size();
    

    @Override
    public Object getItem(int location) 
        return item.get(location);
    

    @Override
    public long getItemId(int position) 
        return position;
    

    @Override
    public View getView(int position, View convertView, ViewGroup parent) 

        if (inflater == null)
            inflater = (LayoutInflater) activity
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        if (convertView == null)
            convertView = inflater.inflate(R.layout.list_row, null);

        TextView title = (TextView) convertView.findViewById(R.id.title);


        return convertView;
    


【讨论】:

以上是关于在 Android Studio 中创建一个包含多个对象的列表视图的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2013 中创建多项目模板?

如何在 android studio 中创建没有主要活动的应用程序?

如何膨胀由 Android Studio 向导在 Activity 中创建的片段(列表)?

如何在 Android Studio 中创建测试?

如何在 Kotlin 中创建一个打开新活动(Android Studio)的按钮?

无法在Android Studio中创建Android虚拟设备[关闭]