Commit a06274f4 authored by fallenstardust's avatar fallenstardust

getmaincount为空指时显示红“-”避免闪退

卡包展示时不显示额外和副卡组数量
微调ui
parent aa3a4a43
...@@ -6,6 +6,7 @@ import android.graphics.Color; ...@@ -6,6 +6,7 @@ import android.graphics.Color;
import android.os.Build; import android.os.Build;
import android.view.View; import android.view.View;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
...@@ -77,13 +78,13 @@ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, D ...@@ -77,13 +78,13 @@ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, D
//item是deckFile类型 //item是deckFile类型
this.deckFile = (DeckFile) item; this.deckFile = (DeckFile) item;
holder.deckName.setText(item.getName()); holder.deckName.setText(item.getName());
//if (!deckFile.getTypeName().equals(YGOUtil.s(R.string.category_pack))) { //预读卡组信息
//预读卡组信息 this.deckInfo = mDeckLoader.readDeck(mCardLoader, deckFile.getPathFile(), mLimitList);
this.deckInfo = mDeckLoader.readDeck(mCardLoader, deckFile.getPathFile(), mLimitList); //加载卡组第一张卡的图
//加载卡组第一张卡的图 holder.cardImage.setVisibility(View.VISIBLE);
holder.cardImage.setVisibility(View.VISIBLE); imageLoader.bindImage(holder.cardImage, deckFile.getFirstCode(), ImageLoader.Type.middle);
imageLoader.bindImage(holder.cardImage, deckFile.getFirstCode(), ImageLoader.Type.small); //填入内容
//填入内容 if (String.valueOf(deckInfo.getMainCount()) != null) {
holder.main.setText(String.valueOf(deckInfo.getMainCount())); holder.main.setText(String.valueOf(deckInfo.getMainCount()));
if (deckInfo.getMainCount() < 40) { if (deckInfo.getMainCount() < 40) {
holder.main.setTextColor(Color.YELLOW); holder.main.setTextColor(Color.YELLOW);
...@@ -92,63 +93,78 @@ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, D ...@@ -92,63 +93,78 @@ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, D
holder.main.setTextColor(mContext.getColor(R.color.holo_blue_bright)); holder.main.setTextColor(mContext.getColor(R.color.holo_blue_bright));
} }
} }
} else {
holder.main.setText("-");
holder.main.setTextColor(Color.RED);
}
if (String.valueOf(deckInfo.getExtraCount()) != null) {//有时候主卡数量是空指,原因待查,暂且空指时显示红色“-”
holder.extra.setText(String.valueOf(deckInfo.getExtraCount())); holder.extra.setText(String.valueOf(deckInfo.getExtraCount()));
} else {
holder.extra.setText("-");
holder.extra.setTextColor(Color.RED);
}
if (String.valueOf(deckInfo.getExtraCount()) != null) {
holder.side.setText(String.valueOf(deckInfo.getSideCount())); holder.side.setText(String.valueOf(deckInfo.getSideCount()));
} else {
holder.side.setText("-");
holder.side.setTextColor(Color.RED);
}
if (deckFile.getTypeName().equals(YGOUtil.s(R.string.category_pack))) {//卡包展示时不显示额外和副卡组数量文本
holder.ll_extra_n_side.setVisibility(View.GONE);
} else {
holder.ll_extra_n_side.setVisibility(View.VISIBLE);
}
//判断是否含有先行卡 //判断是否含有先行卡
Deck deck = this.deckInfo.toDeck(); Deck deck = this.deckInfo.toDeck();
List<String> strList = new ArrayList<>(); List<String> strList = new ArrayList<>();
for (int i = 0; i < deck.getDeckCount(); i++) { for (int i = 0; i < deck.getDeckCount(); i++) {
strList.add(deck.getAlllist().get(i).toString()); strList.add(deck.getAlllist().get(i).toString());
}
for (int i = 0; i < deck.getDeckCount(); i++) {
if (strList.get(i).length() > 8) {
holder.prerelease_star.setVisibility(View.VISIBLE);
break;
} else {
holder.prerelease_star.setVisibility(View.GONE);
continue;
} }
}
//判断是否符合默认禁卡表以显示标识
if (mLimitList != null) {
for (int i = 0; i < deck.getDeckCount(); i++) { for (int i = 0; i < deck.getDeckCount(); i++) {
if (strList.get(i).length() > 8) { if (mLimitList.getStringForbidden().contains(strList.get(i))) {
holder.prerelease_star.setVisibility(View.VISIBLE); holder.banned_mark.setVisibility(View.VISIBLE);
break; break;
} else { } else if (mLimitList.getStringLimit().contains(strList.get(i))) {
holder.prerelease_star.setVisibility(View.GONE); int limitcount = 0;
continue; for (int j = 0; j < deck.getDeckCount(); j++) {
} if (strList.get(i).equals(strList.get(j))) {
} limitcount++;
//判断是否符合默认禁卡表以显示标识 }
if (mLimitList != null) { }
for (int i = 0; i < deck.getDeckCount(); i++) { if (limitcount > 1) {
if (mLimitList.getStringForbidden().contains(strList.get(i))) {
holder.banned_mark.setVisibility(View.VISIBLE); holder.banned_mark.setVisibility(View.VISIBLE);
break; break;
} else if (mLimitList.getStringLimit().contains(strList.get(i))) { }
int limitcount = 0; } else if (mLimitList.getStringSemiLimit().contains(strList.get(i))) {
for (int j = 0; j < deck.getDeckCount(); j++) { int semicount = 0;
if (strList.get(i).equals(strList.get(j))) { for (int k = 0; k < deck.getDeckCount(); k++) {
limitcount++; if (strList.get(i).equals(strList.get(k))) {
} semicount++;
}
if (limitcount > 1) {
holder.banned_mark.setVisibility(View.VISIBLE);
break;
} }
} else if (mLimitList.getStringSemiLimit().contains(strList.get(i))) {
int semicount = 0;
for (int k = 0; k < deck.getDeckCount(); k++) {
if (strList.get(i).equals(strList.get(k))) {
semicount++;
}
}
if (semicount > 2) {
holder.banned_mark.setVisibility(View.VISIBLE);
break;
}
} else {
holder.banned_mark.setVisibility(View.GONE);
continue;
} }
if (semicount > 2) {
holder.banned_mark.setVisibility(View.VISIBLE);
break;
}
} else {
holder.banned_mark.setVisibility(View.GONE);
continue;
} }
} }
//} else { }
// holder.deck_info.setVisibility(View.GONE);
// holder.cardImage.setVisibility(View.GONE);
//}
//多选 //多选
if (isManySelect) { if (isManySelect) {
if (selectList.contains(item)) if (selectList.contains(item))
...@@ -218,6 +234,7 @@ class DeckViewHolder extends com.chad.library.adapter.base.viewholder.BaseViewHo ...@@ -218,6 +234,7 @@ class DeckViewHolder extends com.chad.library.adapter.base.viewholder.BaseViewHo
TextView main; TextView main;
TextView extra; TextView extra;
TextView side; TextView side;
LinearLayout ll_extra_n_side;
View item_deck_list; View item_deck_list;
View deck_info; View deck_info;
...@@ -230,6 +247,7 @@ class DeckViewHolder extends com.chad.library.adapter.base.viewholder.BaseViewHo ...@@ -230,6 +247,7 @@ class DeckViewHolder extends com.chad.library.adapter.base.viewholder.BaseViewHo
main = findView(R.id.count_main); main = findView(R.id.count_main);
extra = findView(R.id.count_ex); extra = findView(R.id.count_ex);
side = findView(R.id.count_side); side = findView(R.id.count_side);
ll_extra_n_side = findView(R.id.ll_extra_n_side);
prerelease_star = findView(R.id.prerelease_star); prerelease_star = findView(R.id.prerelease_star);
banned_mark = findView(R.id.banned_mark); banned_mark = findView(R.id.banned_mark);
deck_info = findView(R.id.deck_info); deck_info = findView(R.id.deck_info);
......
...@@ -51,10 +51,9 @@ public class YGODialogUtil { ...@@ -51,10 +51,9 @@ public class YGODialogUtil {
public static ListView dialogl(Context context, String title, String[] list) { public static ListView dialogl(Context context, String title, String[] list) {
DialogUtils dialogUtils = DialogUtils.getInstance(context); DialogUtils dialogUtils = DialogUtils.getInstance(context);
ListView listView = dialogUtils.dialogl1(title ListView listView = dialogUtils.dialogl1(title, new TextBaseAdapter(context, list,
, new TextBaseAdapter(context, list, YGOUtil.c(R.color.white) YGOUtil.c(R.color.white), 10, 20, 10, 20));
, 16, 16, 16, 16)); dialogUtils.setDialogBackgroundResource(R.drawable.window2s);
dialogUtils.setDialogBackgroundResource(R.drawable.radius);
dialogUtils.setTitleColor(YGOUtil.c(R.color.holo_blue_light)); dialogUtils.setTitleColor(YGOUtil.c(R.color.holo_blue_light));
return listView; return listView;
} }
...@@ -85,6 +84,7 @@ public class YGODialogUtil { ...@@ -85,6 +84,7 @@ public class YGODialogUtil {
private final LinearLayout ll_move; private final LinearLayout ll_move;
private final LinearLayout ll_copy; private final LinearLayout ll_copy;
private final LinearLayout ll_del; private final LinearLayout ll_del;
private final LinearLayout ll_add;
private final ImageView iv_move; private final ImageView iv_move;
private final ImageView iv_copy; private final ImageView iv_copy;
private final ImageView iv_del; private final ImageView iv_del;
...@@ -106,7 +106,7 @@ public class YGODialogUtil { ...@@ -106,7 +106,7 @@ public class YGODialogUtil {
ll_move = ygoDialog.findViewById(R.id.ll_move); ll_move = ygoDialog.findViewById(R.id.ll_move);
ll_copy = ygoDialog.findViewById(R.id.ll_copy); ll_copy = ygoDialog.findViewById(R.id.ll_copy);
ll_del = ygoDialog.findViewById(R.id.ll_del); ll_del = ygoDialog.findViewById(R.id.ll_del);
LinearLayout ll_add = ygoDialog.findViewById(R.id.ll_add); ll_add = ygoDialog.findViewById(R.id.ll_add);
iv_copy = ygoDialog.findViewById(R.id.iv_copy); iv_copy = ygoDialog.findViewById(R.id.iv_copy);
iv_move = ygoDialog.findViewById(R.id.iv_move); iv_move = ygoDialog.findViewById(R.id.iv_move);
iv_del = ygoDialog.findViewById(R.id.iv_del); iv_del = ygoDialog.findViewById(R.id.iv_del);
......
...@@ -71,6 +71,11 @@ ...@@ -71,6 +71,11 @@
android:textColor="@color/holo_blue_bright" android:textColor="@color/holo_blue_bright"
android:textSize="10sp" android:textSize="10sp"
tools:text="40" /> tools:text="40" />
<LinearLayout
android:id="@+id/ll_extra_n_side"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView <TextView
android:id="@+id/TextExtra" android:id="@+id/TextExtra"
...@@ -105,7 +110,7 @@ ...@@ -105,7 +110,7 @@
android:textColor="@color/holo_blue_bright" android:textColor="@color/holo_blue_bright"
android:textSize="10sp" android:textSize="10sp"
tools:text="15" /> tools:text="15" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment