快传成绩单 - 热点优化
This commit is contained in:
@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user