Newer
Older
Kevin Whitaker
committed
package com.eyecreate.miceandmystics.miceandmystics.viewholders;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;
import com.alertdialogpro.AlertDialogPro;
import com.eyecreate.miceandmystics.miceandmystics.R;
import com.eyecreate.miceandmystics.miceandmystics.adapters.CharacterDetailsAdapter;
import com.eyecreate.miceandmystics.miceandmystics.model.Ability;
Kevin Whitaker
committed
import com.eyecreate.miceandmystics.miceandmystics.model.Enums.Abilities;
Kevin Whitaker
committed
public class CharacterAbilityViewHolder extends RecyclerView.ViewHolder implements View.OnLongClickListener {
CharacterDetailsAdapter adapter;
TextView abilityName;
String uuid;
public CharacterAbilityViewHolder(View itemView,CharacterDetailsAdapter adapter) {
super(itemView);
this.adapter = adapter;
abilityName = (TextView) itemView.findViewById(R.id.ability_name);
itemView.setOnLongClickListener(this);
}
public void bindHolder(Ability ability) {
Kevin Whitaker
committed
try {
abilityName.setText(Abilities.valueOf(ability.getAbilityName()).toString());
} catch(IllegalArgumentException e) {
//This is a workaround if ability doesn't exist. This is likely due to using old stored data.
abilityName.setText(ability.getAbilityName());
}
Kevin Whitaker
committed
uuid = ability.getUuid();
}
@Override
public boolean onLongClick(View view) {
AlertDialog removeDialog = new AlertDialogPro.Builder(view.getContext(),R.style.dialogTheme)
.setMessage("Do you want to remove ability: "+abilityName.getText()+"?")
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
adapter.removeAbility(uuid);
}
})
.create();
removeDialog.show();
return true;
}
}