优化汇总(20170106),礼包相关优化补充(20170104), 快速点击弹窗按钮可能会出现卡死

This commit is contained in:
khy
2017-01-09 17:51:38 +08:00
parent 40615976e1
commit ed71d3e348
40 changed files with 463 additions and 195 deletions

View File

@ -5,6 +5,7 @@ import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ImageView;
@ -19,12 +20,14 @@ import com.gh.gamecenter.adapter.StrategyAdapter;
import com.gh.gamecenter.adapter.StrategyDialogAdapter;
import com.gh.gamecenter.db.info.ConcernInfo;
import com.gh.gamecenter.manager.ConcernManager;
import com.jakewharton.rxbinding.view.RxView;
import java.util.List;
import java.util.concurrent.TimeUnit;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import rx.functions.Action1;
/**
* Created by khy on 2016/12/5.
@ -42,7 +45,9 @@ public class StrategyActivity extends BaseActivity implements StrategyDialogAdap
private PopupWindow mPopupWindow;
private int mDialogGamePosition;
private static int mDialogGamePosition = -1;
private static String gameId;
private static String gameName;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -52,9 +57,7 @@ public class StrategyActivity extends BaseActivity implements StrategyDialogAdap
ButterKnife.bind(this);
mDialogGamePosition = -1;
mStrategyAdapter = new StrategyAdapter(this, null, mNoData);
mStrategyAdapter = new StrategyAdapter(this, gameId, mNoData);
final LinearLayoutManager layoutManager = new LinearLayoutManager(this);
mStrategyRv.setLayoutManager(layoutManager);
mStrategyRv.setAdapter(mStrategyAdapter);
@ -77,9 +80,21 @@ public class StrategyActivity extends BaseActivity implements StrategyDialogAdap
mSelectGameRl.setVisibility(View.VISIBLE);
}
if (!TextUtils.isEmpty(gameName)) {
mGameName.setText(gameName);
}
// 防抖处理
RxView.clicks(mSelectGameRl)
.throttleFirst(1, TimeUnit.SECONDS)
.subscribe(new Action1<Void>() {
@Override
public void call(Void aVoid) {
OnSelectGameClickListener();
}
});
}
@OnClick(R.id.strategy_select_game_rl)
public void OnSelectGameClickListener() {
isShowPopupBg(true);
@ -93,8 +108,9 @@ public class StrategyActivity extends BaseActivity implements StrategyDialogAdap
public void onClick(View v) {
mGameName.setText("全部游戏");
mDialogGamePosition = -1;
gameId = null;
isShowPopupBg(false);
mStrategyAdapter = new StrategyAdapter(StrategyActivity.this, null, mNoData);
mStrategyAdapter = new StrategyAdapter(StrategyActivity.this, gameId, mNoData);
mStrategyRv.setAdapter(mStrategyAdapter);
}
});
@ -178,12 +194,15 @@ public class StrategyActivity extends BaseActivity implements StrategyDialogAdap
@Override
public void selectPosition(int position, ConcernInfo concernInfo) {
gameId = concernInfo.getId();
gameName = concernInfo.getGameName();
mNoData.setVisibility(View.GONE);
mDialogGamePosition = position;
mGameName.setText(concernInfo.getGameName());
mGameName.setText(gameName);
isShowPopupBg(false);
mStrategyAdapter = new StrategyAdapter(this, concernInfo.getId(), mNoData);
mStrategyAdapter = new StrategyAdapter(this, gameId, mNoData);
mStrategyRv.setAdapter(mStrategyAdapter);
}
}