工具箱(为对接数据接口),解决footeritem高度不一问题和开服表闪退问题
This commit is contained in:
122
app/src/main/java/com/gh/gamecenter/ToolBoxActivity.java
Normal file
122
app/src/main/java/com/gh/gamecenter/ToolBoxActivity.java
Normal file
@ -0,0 +1,122 @@
|
||||
package com.gh.gamecenter;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.widget.SwipeRefreshLayout;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import com.gc.materialdesign.views.ProgressBarCircularIndeterminate;
|
||||
import com.gh.base.BaseActivity;
|
||||
import com.gh.common.view.VerticalItemDecoration;
|
||||
import com.gh.gamecenter.adapter.ToolBoxRvAdapter;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.OnClick;
|
||||
|
||||
/**
|
||||
* Created by khy on 24/05/17.
|
||||
*/
|
||||
|
||||
public class ToolBoxActivity extends BaseActivity implements SwipeRefreshLayout.OnRefreshListener{
|
||||
|
||||
@BindView(R.id.toolbox_rv)
|
||||
RecyclerView mToolboxRv;
|
||||
@BindView(R.id.reuse_none_data)
|
||||
LinearLayout mNoneData;
|
||||
@BindView(R.id.reuse_no_connection)
|
||||
LinearLayout mNoConnection;
|
||||
@BindView(R.id.toolbox_refresh)
|
||||
SwipeRefreshLayout mRefresh;
|
||||
@BindView(R.id.toolbox_loading)
|
||||
ProgressBarCircularIndeterminate mLoading;
|
||||
|
||||
private LinearLayoutManager mLayoutManager;
|
||||
private ToolBoxRvAdapter mRvAdapter;
|
||||
|
||||
Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mRvAdapter = new ToolBoxRvAdapter(ToolBoxActivity.this, ToolBoxActivity.this);
|
||||
mToolboxRv.setAdapter(mRvAdapter);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_toolbox;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
init("工具箱");
|
||||
|
||||
mRefresh.setColorSchemeResources(R.color.theme);
|
||||
mRefresh.setOnRefreshListener(this);
|
||||
|
||||
mLayoutManager = new LinearLayoutManager(this);
|
||||
mToolboxRv.setLayoutManager(mLayoutManager);
|
||||
mRvAdapter = new ToolBoxRvAdapter(this, this);
|
||||
mToolboxRv.addItemDecoration(new VerticalItemDecoration(this, 8, true));
|
||||
mToolboxRv.setAdapter(mRvAdapter);
|
||||
|
||||
mToolboxRv.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
||||
@Override
|
||||
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
|
||||
super.onScrollStateChanged(recyclerView, newState);
|
||||
if (newState == RecyclerView.SCROLL_STATE_IDLE
|
||||
&& mLayoutManager.findLastVisibleItemPosition() + 1 == mRvAdapter.getItemCount()) {
|
||||
if (!mRvAdapter.isOver() && !mRvAdapter.isLoading() && !mRvAdapter.isNetworkError()) {
|
||||
// mRvAdapter.loadData();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@OnClick(R.id.reuse_no_connection)
|
||||
public void onClick() {
|
||||
mLoading.setVisibility(View.VISIBLE);
|
||||
mNoConnection.setVisibility(View.GONE);
|
||||
mLoading.postDelayed(runnable, 1000);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadDone() {
|
||||
super.loadDone();
|
||||
mRefresh.setRefreshing(false);
|
||||
mNoneData.setVisibility(View.GONE);
|
||||
mNoConnection.setVisibility(View.GONE);
|
||||
mToolboxRv.setVisibility(View.VISIBLE);
|
||||
mLoading.setVisibility(View.GONE);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadEmpty() {
|
||||
super.loadEmpty();
|
||||
mRefresh.setRefreshing(false);
|
||||
mNoneData.setVisibility(View.VISIBLE);
|
||||
mNoConnection.setVisibility(View.GONE);
|
||||
mToolboxRv.setVisibility(View.GONE);
|
||||
mLoading.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadError() {
|
||||
super.loadError();
|
||||
mRefresh.setRefreshing(false);
|
||||
mNoneData.setVisibility(View.GONE);
|
||||
mNoConnection.setVisibility(View.VISIBLE);
|
||||
mToolboxRv.setVisibility(View.GONE);
|
||||
mLoading.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
mRefresh.postDelayed(runnable, 1000);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user