@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { view.setSelected(true); if (alphabetAdapter.getItemViewType(position) != 1) { Object o = alphabetAdapter.getItem(position); AlphabetListAdapterImgAndTwoLines.Item item = (AlphabetListAdapterImgAndTwoLines.Item) o; arguments = new Bundle(); arguments.putString("cod", item.element.getData()); arguments.putString("name", item.element.getTitulo()); } }
private void buildListCustomFormat() { if (listaAdapter.size() > 0) { List<Row> rows = new ArrayList<Row>(); int start = 0; int end = 0; String previousLetter = null; Object[] tmpIndexItem = null; Pattern numberPattern = Pattern.compile("[0-9]"); for (FormatCustomListView item : listaAdapter) { String firstLetter = item.getTitulo().substring(0, 1); // Group numbers together in the scroller if (numberPattern.matcher(firstLetter).matches()) { firstLetter = "#"; } // If we've changed to a new letter, add the previous letter to // the // alphabet scroller if (previousLetter != null && !firstLetter.equals(previousLetter)) { end = rows.size() - 1; tmpIndexItem = new Object[3]; tmpIndexItem[0] = previousLetter.toUpperCase(Locale.UK); tmpIndexItem[1] = start; tmpIndexItem[2] = end; alphabet.add(tmpIndexItem); start = end + 1; } // Check if we need to add a header row if (!firstLetter.equals(previousLetter)) { rows.add(new Section(firstLetter)); sections.put(firstLetter, start); } // Add the country to the list rows.add(new Item(item)); previousLetter = firstLetter; } if (previousLetter != null) { // Save the last letter tmpIndexItem = new Object[3]; tmpIndexItem[0] = previousLetter.toUpperCase(Locale.UK); tmpIndexItem[1] = start; tmpIndexItem[2] = rows.size() - 1; alphabet.add(tmpIndexItem); } alphabetAdapter.setRows(rows); lvCalle.setAdapter(alphabetAdapter); updateList(); /** *********************************** */ /** ********* <-INDEXEEERRRR ************ */ /** ********************************** */ } }