package com.lateensoft.pathfinder.toolkit.views.character;
import com.lateensoft.pathfinder.toolkit.R;
import com.lateensoft.pathfinder.toolkit.adapters.character.WeaponListAdapter;
import com.lateensoft.pathfinder.toolkit.db.dao.table.WeaponDAO;
import com.lateensoft.pathfinder.toolkit.model.character.items.Weapon;
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 CharacterWeaponsFragment extends IndexedParcelableListFragment<Weapon, WeaponDAO> {
private ListView weaponList;
private Button addButton;
private WeaponDAO weaponDao;
private List<Weapon> weapons;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
weaponDao = new WeaponDAO(getContext());
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRootView(inflater.inflate(R.layout.character_weapon_fragment,
container, false));
addButton = (Button) getRootView().findViewById(R.id.buttonAddWeapon);
addButton.setOnClickListener(getAddButtonClickListener());
weaponList = new ListView(container.getContext());
weaponList = (ListView) getRootView().findViewById(R.id.listViewWeapons);
weaponList.setOnItemClickListener(getListItemClickListener());
return getRootView();
}
@Override
protected List<Weapon> getModel() {
return weapons;
}
@Override
protected Class<? extends ParcelableEditorActivity> getParcelableEditorActivity() {
return WeaponEditActivity.class;
}
@Override
protected WeaponDAO getDAO() {
return weaponDao;
}
@Override
public void updateFragmentUI() {
refreshWeaponsListView();
}
private void refreshWeaponsListView() {
Collections.sort(weapons);
WeaponListAdapter adapter = new WeaponListAdapter(getContext(),
R.layout.character_weapon_row, weapons);
weaponList.setAdapter(adapter);
}
@Override
public String getFragmentTitle() {
return getString(R.string.tab_character_weapons);
}
@Override
public void loadFromDatabase() {
weapons = weaponDao.findAllForOwner(getCurrentCharacterID());
}
}