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

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

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

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

提前致谢!!

【问题讨论】:

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


    【解决方案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;
          }
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-16
        • 1970-01-01
        • 2011-05-01
        • 2023-03-11
        • 2015-03-28
        • 1970-01-01
        相关资源
        最近更新 更多