在 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 中创建的片段(列表)?