Intereting Posts
Могу ли я программно определить, есть ли какие-либо устройства Chromecast в текущей сети WiFi? Не удалось запустить службу с нулевым значением Android: как получить информацию о местоположении из унаследованных комплектов при использовании LocationManager.requestLocationUpdates () Указание фильтра намерения SEND (совместного использования) для службы Использование намерений для передачи данных между действиями в android Android: приложение часто сбой при мгновенном запуске Пропустить исключение в качестве посылки Android: формат даты в строке Generic OR вместо AND <T extends Number | CharSequence> Android SQLiteMisuseException при вызове database.rawQuery Неправильное поведение установщика пакетов Pass arraylist объектов, определенных пользователем, для Introid android Телефонная книга – выберите изображение из галереи Получить список мест, в которых находится текущее местоположение пользователя Интеграция сканера QR-кода ZXing без установки BarCode Scanner

Раздел алфавитов Android Listview, как список контактов appviewview

Теперь может кто-нибудь помочь мне, как посмотреть на мой взгляд на что-то подобное. Пожалуйста, помогите мне, я слишком запутан.

Введите описание изображения здесь

Здесь мой код: ——-

phonebooklistview.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <EditText android:id="@+id/searchTxtBox" android:layout_width="match_parent" android:layout_height="40dp" android:layout_marginTop="65dp" android:hint="@string/searchHintTxt" android:singleLine="true" android:drawableLeft="@android:drawable/ic_search_category_default" android:drawablePadding="0dp" android:text="" /> <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="wrap_content" android:fadingEdge="vertical" android:fastScrollEnabled="true" android:padding="2dp" android:layout_below="@+id/searchTxtBox" > </ListView> <TextView android:id="@+id/phoneBookEmptyView" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:layout_gravity="center_horizontal" android:text="@string/phoneBookEmptyMsg" android:textColor="@color/white" android:layout_below="@+id/searchTxtBox" android:layout_marginTop="5dp" android:textAppearance="?android:attr/textAppearanceMedium" /> </RelativeLayout> 

И в файле PhoneBookList.java

 protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.phonebooklistview); listView = getListView(); adapter = new ItemsAdapter(this); adapter.notifyDataSetChanged(); listView.setAdapter(adapter); listView.setTextFilterEnabled(true); //listView.setFastScrollEnabled(true); listView.setOnItemLongClickListener(this); listView.setItemsCanFocus(false); listView.setEmptyView(findViewById(R.id.phoneBookEmptyView)); registerForContextMenu(listView); } private class ItemsAdapter extends BaseAdapter implements SectionIndexer { HashMap<String, Integer> alphaIndexer; String[] sections; private LayoutInflater inflater; String[][] items; public ItemsAdapter(Context context) { inflater = LayoutInflater.from(context); this.items = phoneBookDataArr; alphaIndexer = new HashMap<String, Integer>(); int size = items.length; for (int x = 0; x < size; x++) { String name=items[x][2]; String ch = name.substring(0, 1); ch = ch.toUpperCase(); alphaIndexer.put(ch, x); Log.e(TAG,"alphaIndexer="+ch); } Set<String> sectionLetters = alphaIndexer.keySet(); ArrayList<String> sectionList = new ArrayList<String>(sectionLetters); Collections.sort(sectionList); sections = new String[sectionList.size()]; sectionList.toArray(sections); } //@Override public View getView(final int position, View convertView, ViewGroup parent) { // here my custom listviewcontentview goes. } public int getCount() { return items.length; } public Object getItem(int position) { return position; } public long getItemId(int position) { return 0; } public int getPositionForSection(int section) { Log.e(TAG,"getPositionForSection="+section); return alphaIndexer.get(sections[section]); } public int getSectionForPosition(int position) { Log.e(TAG,"getSectionForPosition="+position); return 1; } public Object[] getSections() { Log.e(TAG,"getSections="+sections.length); for (String str : sections) { Log.e(TAG,str); } return sections; } } 

Solutions Collecting From Web of "Раздел алфавитов Android Listview, как список контактов appviewview"

Добавление панели поиска

1: Используйте EditText для панели поиска
2: зарегистрируйте его для добавленияTextChangedListener
3: Внедрить метод onTextChanged (…) для отслеживания последовательности символов, введенной пользователем. 4: Извлечь currentSearchName с помощью метода getText (). Перейдите в список контактов, чтобы найти подходящие поисковые запросы. Сохраните сопоставленные результаты в списке и используйте Content Adapter для отображения списка.

Детальная реализация приведена в следующей ссылке
http://www.androidpeople.com/android-listview-searchbox-sort-items

Добавление меток и боковой панели:

1: Чтобы добавить боковую панель, выполните разделIndexer в классе ContentAdapter
2: перейдите в список контактов, чтобы получить инициалы всех имен
3: Внедрите метод setSection (..) в набор меток
4: Внедрите getPositionForSection (..), чтобы перейти на ярлык, соответствующий инициалам, когда пользователь нажимает на боковую панель.

Реализация SideBar можно найти по следующей ссылке. http://codelikes.blogspot.com/2012/04/android-alphabet-listview-like-contacts.html ?