aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/StickyListHeaders/sample/src/se/emilsjolander/stickylistheaders/TestBaseAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/StickyListHeaders/sample/src/se/emilsjolander/stickylistheaders/TestBaseAdapter.java')
-rw-r--r--libraries/StickyListHeaders/sample/src/se/emilsjolander/stickylistheaders/TestBaseAdapter.java169
1 files changed, 0 insertions, 169 deletions
diff --git a/libraries/StickyListHeaders/sample/src/se/emilsjolander/stickylistheaders/TestBaseAdapter.java b/libraries/StickyListHeaders/sample/src/se/emilsjolander/stickylistheaders/TestBaseAdapter.java
deleted file mode 100644
index 777b7bd57..000000000
--- a/libraries/StickyListHeaders/sample/src/se/emilsjolander/stickylistheaders/TestBaseAdapter.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package se.emilsjolander.stickylistheaders;
-
-import java.util.ArrayList;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.BaseAdapter;
-import android.widget.SectionIndexer;
-import android.widget.TextView;
-
-/**
- * @author Emil Sjölander
- */
-public class TestBaseAdapter extends BaseAdapter implements
- StickyListHeadersAdapter, SectionIndexer {
-
- private final Context mContext;
- private String[] mCountries;
- private int[] mSectionIndices;
- private Character[] mSectionLetters;
- private LayoutInflater mInflater;
-
- public TestBaseAdapter(Context context) {
- mContext = context;
- mInflater = LayoutInflater.from(context);
- mCountries = context.getResources().getStringArray(R.array.countries);
- mSectionIndices = getSectionIndices();
- mSectionLetters = getSectionLetters();
- }
-
- private int[] getSectionIndices() {
- ArrayList<Integer> sectionIndices = new ArrayList<Integer>();
- char lastFirstChar = mCountries[0].charAt(0);
- sectionIndices.add(0);
- for (int i = 1; i < mCountries.length; i++) {
- if (mCountries[i].charAt(0) != lastFirstChar) {
- lastFirstChar = mCountries[i].charAt(0);
- sectionIndices.add(i);
- }
- }
- int[] sections = new int[sectionIndices.size()];
- for (int i = 0; i < sectionIndices.size(); i++) {
- sections[i] = sectionIndices.get(i);
- }
- return sections;
- }
-
- private Character[] getSectionLetters() {
- Character[] letters = new Character[mSectionIndices.length];
- for (int i = 0; i < mSectionIndices.length; i++) {
- letters[i] = mCountries[mSectionIndices[i]].charAt(0);
- }
- return letters;
- }
-
- @Override
- public int getCount() {
- return mCountries.length;
- }
-
- @Override
- public Object getItem(int position) {
- return mCountries[position];
- }
-
- @Override
- public long getItemId(int position) {
- return position;
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- ViewHolder holder;
-
- if (convertView == null) {
- holder = new ViewHolder();
- convertView = mInflater.inflate(R.layout.test_list_item_layout, parent, false);
- holder.text = (TextView) convertView.findViewById(R.id.text);
- convertView.setTag(holder);
- } else {
- holder = (ViewHolder) convertView.getTag();
- }
-
- holder.text.setText(mCountries[position]);
-
- return convertView;
- }
-
- @Override
- public View getHeaderView(int position, View convertView, ViewGroup parent) {
- HeaderViewHolder holder;
-
- if (convertView == null) {
- holder = new HeaderViewHolder();
- convertView = mInflater.inflate(R.layout.header, parent, false);
- holder.text = (TextView) convertView.findViewById(R.id.text1);
- convertView.setTag(holder);
- } else {
- holder = (HeaderViewHolder) convertView.getTag();
- }
-
- // set header text as first char in name
- CharSequence headerChar = mCountries[position].subSequence(0, 1);
- holder.text.setText(headerChar);
-
- return convertView;
- }
-
- /**
- * Remember that these have to be static, postion=1 should always return
- * the same Id that is.
- */
- @Override
- public long getHeaderId(int position) {
- // return the first character of the country as ID because this is what
- // headers are based upon
- return mCountries[position].subSequence(0, 1).charAt(0);
- }
-
- @Override
- public int getPositionForSection(int section) {
- if (section >= mSectionIndices.length) {
- section = mSectionIndices.length - 1;
- } else if (section < 0) {
- section = 0;
- }
- return mSectionIndices[section];
- }
-
- @Override
- public int getSectionForPosition(int position) {
- for (int i = 0; i < mSectionIndices.length; i++) {
- if (position < mSectionIndices[i]) {
- return i - 1;
- }
- }
- return mSectionIndices.length - 1;
- }
-
- @Override
- public Object[] getSections() {
- return mSectionLetters;
- }
-
- public void clear() {
- mCountries = new String[0];
- mSectionIndices = new int[0];
- mSectionLetters = new Character[0];
- notifyDataSetChanged();
- }
-
- public void restore() {
- mCountries = mContext.getResources().getStringArray(R.array.countries);
- mSectionIndices = getSectionIndices();
- mSectionLetters = getSectionLetters();
- notifyDataSetChanged();
- }
-
- class HeaderViewHolder {
- TextView text;
- }
-
- class ViewHolder {
- TextView text;
- }
-
-}