package com.zhan_dui.dictionary.fragments;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import com.actionbarsherlock.app.SherlockListFragment;
import com.emilsjolander.components.stickylistheaders.StickyListHeadersListView;
import com.emilsjolander.components.stickylistheaders.StickyListHeadersListView.OnHeaderClickListener;
import com.zhan_dui.dictionary.R;
import com.zhan_dui.dictionary.cursoradapters.WordAdapter;
import com.zhan_dui.dictionary.db.DictionaryDB;
public class WordsFragment extends SherlockListFragment implements
OnScrollListener, OnItemClickListener, OnHeaderClickListener {
private static final String KEY_LIST_POSITION = "KEY_LIST_POSITION";
private int firstVisible;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.words, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
StickyListHeadersListView stickyList = (StickyListHeadersListView) view
.findViewById(R.id.list);
stickyList.setDivider(new ColorDrawable(0xffffffff));
stickyList.setDividerHeight(1);
stickyList.setOnScrollListener(this);
stickyList.setOnItemClickListener(this);
stickyList.setOnHeaderClickListener(this);
if (savedInstanceState != null) {
firstVisible = savedInstanceState.getInt(KEY_LIST_POSITION);
}
DictionaryDB dictionaryDB = new DictionaryDB(getActivity(),
DictionaryDB.DB_NAME, null, DictionaryDB.DB_VERSION);
SQLiteDatabase sqLiteDatabase = dictionaryDB.getReadableDatabase();
Cursor cursor = sqLiteDatabase.rawQuery(
"select * from word order by word", null);
WordAdapter wordAdapter = new WordAdapter(getActivity(), cursor);
stickyList.setAdapter(wordAdapter);
stickyList.setSelection(firstVisible);
}
@Override
public void onHeaderClick(StickyListHeadersListView l, View header,
int itemPosition, long headerId, boolean currentlySticky) {
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
}