0

Я хочу создать список, который отображает много разных вещей в Android Studio. Целью этого является создание динамической формы, которая будет иметь любое количество категорий A, B или C в соответствии с тем, что хочет производитель форм.Создание списка с несколькими объектами в Android Studio

Итак, создатель формы получит список опций: Категория A, B, C и т. Д., И они выбирают, сколько мест для каждого они хотят. Например, допустим, что A - это «Ссылки», и разработчик формы хочет иметь три точки для этого, я хочу, чтобы форма имела 3 точки для категории A.

Короче говоря, как бы там был адаптер массива или что-то, что поможет мне в этом? Есть ли учебник, о котором вы, ребята, знаете?

Спасибо заранее!

ответ

0

Ваш лучший подход - создать пользовательский адаптер, и в этом адаптере создайте коллекцию типа Object (или любой суперкласс, общий для этих классов). Затем в методе getView, в зависимости от типа объекта, который вы извлекаете из коллекции, отображается одно или другое.

0

Вам нужно создать пользовательский адаптер, Есть много учебников online.Best из них являются 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; 
    } 

} 
Смежные вопросы