2016-04-25 2 views
0

Я хочу добавить заголовки разделов в виде списка в андроиде, как приложенное изображение. Может ли кто-нибудь помочь мне с кодом. Я не хочу внедрять индексатор боковых секций, как в контактах. imageРедактор раздела индекса в виде списка андроида

Это список адаптер custim, что у меня есть created-

public class CustomListAdapter extends BaseAdapter { 

    private Activity mContext; 
    private List<String> mList; 
    private LayoutInflater mLayoutInflater = null; 

    public CustomListAdapter(Activity context, List<String> list){ 
     mContext = context; 
     mList = list; 
     mLayoutInflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    } 



    @Override 
    public int getCount() { 
     return mList.size(); 
    } 


    @Override 
    public Object getItem(int pos) { 
     return mList.get(pos); 
    } 


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


    @Override 
    public View getDropDownView(int position, View convertView, ViewGroup parent) { 
     return super.getDropDownView(position, convertView, parent); 
    } 

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

     final ListViewHolder viewHolder; 

     if (convertView == null) { 
      LayoutInflater layoutInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      convertView = layoutInflater.inflate(R.layout.players_name_with_options, parent, false); 
      viewHolder = new ListViewHolder(convertView); 
      convertView.setTag(viewHolder); 
     } else { 
      viewHolder = (ListViewHolder) convertView.getTag(); 
     } 

     // Setting the name of the player on the text view 
     viewHolder.textView.setText(mList.get(position)); 
     return convertView; 
    } 


    // Class that contains the views as the variables 
    private class ListViewHolder { 

     TextView textView; 

     // Constructor of the class 
     public ListViewHolder(View item) { 

      // Initialising the text view and the spinner 
      textView = (TextView) item.findViewById(R.id.list_textView); 
     } 
    } 
} 

Я инициализирующее это ArrayAdapter, а затем добавив имена игроков. Я хочу, чтобы когда бы имя не было добавлено, заголовок секции должен быть создан, и имя игрока должно быть указано ниже заголовка, как изображение, которое я приложил.

+0

вы можете поделиться тем, что вы пытались до сих пор? –

+0

Я отредактировал сообщение. Пожалуйста, обратитесь к нему – Ahmad

+0

Создайте 2 разных вида для ваших элементов и заголовка элемента. Затем используйте метод getItemViewType (int position) для установки индексатора или элемента во время раздувания представления и привязки данных соответственно в методе getView(). – Apurva

ответ

0

Для этого имеется много библиотеки. Надеюсь, что приведенная ниже ссылка поможет вам разобраться, что вам нужно.

  1. pinned-section-listview
  2. Example 1
  3. Example 2
+0

Не работает в моем случае. Согласно этому, когда я добавляю игрока, он создает для него новый заголовок. Игроки, чье имя начинается с одного и того же алфавита, должны находиться под одним заголовком. – Ahmad

+0

@Ahmad :: что означает, что все игроки, начинающиеся с буквы A, должны находиться под секцией A? – Jeevanandhan

+0

Да. Это то, что мне нужно. Можете ли вы предоставить мне какой-либо код? Спасибо – Ahmad

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