快传成绩单 - 热点优化

This commit is contained in:
khy
2017-02-24 15:11:00 +08:00
parent ef1f2251b5
commit da20b817d2
42 changed files with 960 additions and 155 deletions

View File

@ -15,7 +15,6 @@ import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CompoundButton;
import android.widget.TextView;
import com.gh.common.util.BitmapUtils;
@ -144,7 +143,7 @@ public class CleanApkAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
apkEntity.setInstallStatus(type);
mApkList.add(apkEntity);
mSelectPosition.put((mApkList.size() - 1), false);
mSelectPosition.put((mApkList.size() - 1), true);
handler.post(new Runnable() {
@Override
@ -184,7 +183,7 @@ public class CleanApkAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, final int position) {
final InstallGameEntity gameEntity = mApkList.get(position);
if (viewHolder instanceof KcSelectGameViewHolder) {
KcSelectGameViewHolder holder = (KcSelectGameViewHolder) viewHolder;
final KcSelectGameViewHolder holder = (KcSelectGameViewHolder) viewHolder;
// 第一个
if (position == 0) {
((CardLinearLayout) holder.itemView).setmTop(cardMargin);
@ -205,6 +204,7 @@ public class CleanApkAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
// Spanned spanned = Html.fromHtml("大小:" + "<font color=\"#00B7FA\">" + sizeName + "</font>");
// holder.gameSize.setText(spanned);
holder.checkBoxRl.setVisibility(View.VISIBLE);
holder.selectCB.setVisibility(View.VISIBLE);
if (mSelectPosition.get(position)) {
holder.selectCB.setChecked(true);
@ -232,29 +232,28 @@ public class CleanApkAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
holder.selectCB.setEnabled(false);
}
holder.selectCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
holder.checkBoxRl.setOnClickListener(new View.OnClickListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
mSelectPosition.put(position, true);
public void onClick(View v) {
if (mSelectPosition.get(position)) {
checkBoxControl(false, position);
holder.selectCB.setChecked(false);
} else {
mSelectPosition.put(position, false);
checkBoxControl(true, position);
holder.selectCB.setChecked(true);
}
}
});
long gameSize = 0;
for (Integer integer : mSelectPosition.keySet()) {
if (mSelectPosition.get(integer)) {
gameSize = gameSize + mApkList.get(integer).getGameSize();
}
}
if (gameSize == 0) {
mApkDeleteBtn.setText("一键删除");
holder.selectCB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mSelectPosition.get(position)) {
checkBoxControl(false, position);
holder.selectCB.setChecked(false);
} else {
double size = (((float)gameSize/1024)/1024);
DecimalFormat df = new DecimalFormat("#.00");
String sizeName = df.format(size) + "MB";
mApkDeleteBtn.setText("一键删除("+ sizeName +"");
checkBoxControl(true, position);
holder.selectCB.setChecked(true);
}
}
});
@ -271,6 +270,33 @@ public class CleanApkAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
}
}
public void checkBoxControl(boolean isChecked, int position) {
if (isChecked) {
mSelectPosition.put(position, true);
} else {
mSelectPosition.put(position, false);
}
long gameSize = 0;
int i = 0;
if (mApkList.size() == 0) return;
for (Integer integer : mSelectPosition.keySet()) {
if (mSelectPosition.get(integer)) {
gameSize = gameSize + mApkList.get(integer).getGameSize();
i ++;
}
}
if (gameSize == 0) {
mApkDeleteBtn.setText("一键删除");
} else {
double size = (((float)gameSize/1024)/1024);
DecimalFormat df = new DecimalFormat("#.00");
String sizeName = df.format(size) + "MB";
mApkDeleteBtn.setText("一键删除("+ i + "个," + sizeName +"");
}
}
@Override
public int getItemCount() {