在Android Studio中使用多个对象创建列表视图

时间:2015-01-29 16:04:33

标签: android android-layout android-fragments android-listview android-listfragment

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

因此,表单制作者将获得一个选项列表:A,B,C等类别,他们会为每个选项选择多少个点。例如,让我们说A是"参考"表格制作者希望有三个位置,我希望表格有A类的3个点。

长话短说,怎么会有一个阵列适配器或什么东西可以帮助我这个?有没有你们知道的教程?

提前致谢!!

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

你需要创建一个自定义适配器,在线有很多教程。最好的是 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;
    }

}