package com.lateensoft.pathfinder.toolkit.views.character; import com.lateensoft.pathfinder.toolkit.R; import com.lateensoft.pathfinder.toolkit.adapters.character.SpellBookListAdapter; import com.lateensoft.pathfinder.toolkit.db.dao.table.SpellDAO; import com.lateensoft.pathfinder.toolkit.model.character.Spell; import com.lateensoft.pathfinder.toolkit.model.character.SpellBook; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.ListView; import com.lateensoft.pathfinder.toolkit.views.ParcelableEditorActivity; import java.util.Collections; import java.util.List; public class CharacterSpellBookFragment extends IndexedParcelableListFragment<Spell, SpellDAO> { private ListView spellList; private SpellDAO spellDao; private SpellBook spellBook; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); spellDao = new SpellDAO(getContext()); } public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); setRootView(inflater.inflate(R.layout.character_spellbook_fragment, container, false)); Button m_addButton = (Button) getRootView().findViewById(R.id.addSpell); m_addButton.setOnClickListener(getAddButtonClickListener()); spellList = (ListView) getRootView().findViewById(R.id.spells); spellList.setOnItemClickListener(getListItemClickListener()); return getRootView(); } @Override protected Class<? extends ParcelableEditorActivity> getParcelableEditorActivity() { return SpellEditActivity.class; } @Override protected SpellDAO getDAO() { return spellDao; } @Override protected List<Spell> getModel() { return spellBook; } @Override public void updateFragmentUI() { refreshSpellListView(); } private void refreshSpellListView() { Collections.sort(spellBook); SpellBookListAdapter adapter = new SpellBookListAdapter(getContext(), R.layout.character_spellbook_row, spellBook); spellList.setAdapter(adapter); } @Override public String getFragmentTitle() { return getString(R.string.tab_character_spells); } @Override public void loadFromDatabase() { spellBook = new SpellBook(spellDao.findAllForOwner(getCurrentCharacterID())); } }