package com.lateensoft.pathfinder.toolkit.views.character; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.ListView; import com.lateensoft.pathfinder.toolkit.R; import com.lateensoft.pathfinder.toolkit.adapters.character.FeatListAdapter; import com.lateensoft.pathfinder.toolkit.db.dao.table.FeatDAO; import com.lateensoft.pathfinder.toolkit.model.character.Feat; import com.lateensoft.pathfinder.toolkit.model.character.FeatList; import com.lateensoft.pathfinder.toolkit.views.ParcelableEditorActivity; import org.jetbrains.annotations.NotNull; import java.util.Collections; import java.util.List; public class CharacterFeatsFragment extends IndexedParcelableListFragment<Feat, FeatDAO> { private static final String TAG = CharacterFeatsFragment.class.getSimpleName(); private ListView featsListView; private Button addButton; private FeatDAO featDao; private FeatList feats; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); featDao = new FeatDAO(getContext()); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); setRootView(inflater.inflate(R.layout.character_feats_fragment, container, false)); addButton = (Button) getRootView().findViewById(R.id.buttonAddFeat); addButton.setOnClickListener(getAddButtonClickListener()); featsListView = (ListView) getRootView() .findViewById(R.id.listViewFeats); featsListView.setOnItemClickListener(getListItemClickListener()); return getRootView(); } @Override protected Class<? extends ParcelableEditorActivity> getParcelableEditorActivity() { return FeatEditActivity.class; } @Override protected FeatDAO getDAO() { return featDao; } @Override protected List<Feat> getModel() { return feats; } @Override public void updateFragmentUI() { refreshFeatsListView(); } private void refreshFeatsListView() { Collections.sort(feats); FeatListAdapter adapter = new FeatListAdapter(getActivity(), R.layout.character_feats_row, feats); featsListView.setAdapter(adapter); } @Override public String getFragmentTitle() { return getString(R.string.tab_character_feats); } @Override public void loadFromDatabase() { feats = new FeatList(featDao.findAllForOwner(getCurrentCharacterID())); } }