protected View prepareView(Spell spell, int position, View convertView, ViewGroup parent) { TalentViewHolder holder = (TalentViewHolder) convertView.getTag(); holder.text1.setText(spell.getName()); Util.setVisibility(holder.text2, false, holder.text1); holder.text3.setText(spell.getProbeInfo().getAttributesString()); if (spell.getValue() != null) { int modifier = hero.getModifier(spell); Util.setText(holder.text4, spell.getValue(), modifier, null); } else { Debug.warning(spell.getName() + " has no value"); } Util.setVisibility(holder.text5, false, holder.text1); if (holder.indicator != null) { if (spell.hasFlag(Spell.Flags.ZauberSpezialisierung) || !TextUtils.isEmpty(spell.getZauberSpezialisierung())) { holder.indicator.setVisibility(View.VISIBLE); holder.indicator.setImageBitmap(indicatorFlash); } else if (spell.hasFlag(Spell.Flags.ÜbernatürlicheBegabung)) { holder.indicator.setVisibility(View.VISIBLE); holder.indicator.setImageBitmap(indicatorStar); } else if (spell.hasFlag(Spell.Flags.Hauszauber)) { holder.indicator.setVisibility(View.VISIBLE); holder.indicator.setImageBitmap(indicatorHouseGray); } else if (spell.hasFlag(Spell.Flags.Begabung)) { holder.indicator.setVisibility(View.VISIBLE); holder.indicator.setImageBitmap(indicatorStarGray); } else { holder.indicator.setVisibility(View.INVISIBLE); } } Util.applyRowStyle(spell, convertView, position); return convertView; }
protected View prepareView(Art art, int position, View convertView, ViewGroup parent) { TalentViewHolder holder = (TalentViewHolder) convertView.getTag(); Util.setVisibility(holder.text5, false, holder.text1); holder.text1.setText(art.getFullName()); ArtInfo artInfo = art.getInfo(); StringBuilder info = new StringBuilder(); if (artInfo != null && !TextUtils.isEmpty(artInfo.getTarget())) { info.append(artInfo.getTarget()); } if (artInfo != null && !TextUtils.isEmpty(artInfo.getRange())) { if (info.length() > 0) info.append(","); info.append(artInfo.getRange()); } if (artInfo != null && !TextUtils.isEmpty(artInfo.getCastDuration())) { if (info.length() > 0) info.append(","); info.append(artInfo.getCastDuration()); } holder.text2.setText(info); if (art.hasCustomProbe() && !TextUtils.isEmpty(art.getProbeInfo().getAttributesString())) { holder.text3.setText(art.getProbeInfo().getAttributesString()); } else if (!TextUtils.isEmpty(artInfo.getProbe()) && art.getProbeInfo().getAttributeTypes() == null) { holder.text3.setText(artInfo.getProbe()); } else { if (artInfo != null && !TextUtils.isEmpty(artInfo.getEffectDuration())) holder.text3.setText(artInfo.getEffectDuration()); else holder.text3.setText(null); } if (art.getProbeInfo().getErschwernis() != null) { holder.text4.setText(Util.toProbe(art.getProbeInfo().getErschwernis())); holder.text4.setVisibility(View.VISIBLE); } else holder.text4.setVisibility(View.INVISIBLE); if (holder.indicator != null) { if (art.hasFlag(Art.Flags.Begabung)) { holder.indicator.setVisibility(View.VISIBLE); holder.indicator.setImageBitmap(indicatorStarGray); } else { holder.indicator.setVisibility(View.INVISIBLE); } } Util.applyRowStyle(art, convertView, position); return convertView; }
protected View prepareView(Talent talent, int position, View convertView, ViewGroup parent) { TalentViewHolder holder = (TalentViewHolder) convertView.getTag(); holder.text1.setText(talent.getName()); String be = talent.getProbeInfo().getBe(); if (TextUtils.isEmpty(be)) { Util.setVisibility(holder.text2, false, holder.text1); holder.text2.setText(null); } else { Util.setVisibility(holder.text2, true, holder.text1); holder.text2.setText(be); } if (talent.getComplexity() != null) { Util.setVisibility(holder.text2, true, holder.text1); if (holder.text2.length() > 0) holder.text2.append(" "); holder.text2.append(Util.toString(talent.getComplexity())); } holder.text3.setText(talent.getProbeInfo().getAttributesString()); if (talent instanceof CombatMeleeTalent) { CombatMeleeTalent meleeTalent = (CombatMeleeTalent) talent; if (meleeTalent.getAttack() != null && meleeTalent.getAttack().getValue() != null) { int modifier = 0; if (filter.getSettings().isIncludeModifiers()) { modifier = hero.getModifier(meleeTalent.getAttack()); } Util.setText(holder.text4, meleeTalent.getAttack().getValue(), modifier, null); holder.text4.setOnClickListener(probeListener); holder.text4.setOnLongClickListener(editListener); holder.text4.setTag(R.id.TAG_KEY_VALUE, meleeTalent); holder.text4.setTag(R.id.TAG_KEY_PROBE, meleeTalent.getAttack()); Util.setVisibility(holder.text4, true, holder.text1); } else { Util.setVisibility(holder.text4, false, holder.text1); } if (meleeTalent.getDefense() != null && meleeTalent.getDefense().getValue() != null) { int modifier = 0; if (filter.getSettings().isIncludeModifiers()) { modifier = hero.getModifier(meleeTalent.getDefense()); } Util.setText(holder.text5, meleeTalent.getDefense().getValue(), modifier, null); holder.text5.setOnClickListener(probeListener); holder.text5.setOnLongClickListener(editListener); holder.text5.setTag(R.id.TAG_KEY_VALUE, meleeTalent); holder.text5.setTag(R.id.TAG_KEY_PROBE, meleeTalent.getDefense()); Util.setVisibility(holder.text5, true, holder.text1); } else { holder.text5.setVisibility(View.INVISIBLE); } } else if (talent instanceof CombatDistanceTalent) { CombatDistanceTalent distanceTalent = (CombatDistanceTalent) talent; if (distanceTalent.getValue() != null) { int modifier = 0; if (filter.getSettings().isIncludeModifiers()) { modifier = hero.getModifier(distanceTalent); } Util.setText(holder.text4, distanceTalent.getValue(), modifier, null); holder.text4.setOnClickListener(null); holder.text4.setClickable(false); Util.setVisibility(holder.text4, true, holder.text1); } else { Util.setVisibility(holder.text4, false, holder.text1); } Util.setVisibility(holder.text5, false, holder.text1); } else { int modifier = 0; if (filter.getSettings().isIncludeModifiers()) { modifier = hero.getModifier(talent); } Util.setText(holder.text4, talent.getValue(), modifier, null); holder.text4.setOnClickListener(null); holder.text4.setClickable(false); // hide text5 and expand text1 // with its width Util.setVisibility(holder.text5, false, holder.text1); } if (holder.indicator != null) { if (talent.hasFlag(Talent.Flags.TalentSpezialisierung) || !TextUtils.isEmpty(talent.getTalentSpezialisierung())) { holder.indicator.setVisibility(View.VISIBLE); holder.indicator.setImageBitmap(indicatorFlash); } else if (talent.hasFlag(Flags.Meisterhandwerk)) { holder.indicator.setVisibility(View.VISIBLE); holder.indicator.setImageBitmap(indicatorHouse); } else if (talent.hasFlag(Flags.Talentschub)) { holder.indicator.setVisibility(View.VISIBLE); holder.indicator.setImageBitmap(indicatorStar); } else if (talent.hasFlag(Flags.Begabung)) { holder.indicator.setVisibility(View.VISIBLE); holder.indicator.setImageBitmap(indicatorStarGray); } else { holder.indicator.setVisibility(View.INVISIBLE); } } Util.applyRowStyle(talent, convertView, position); return convertView; }