修复部分BUG,工具箱增加搜索功能
This commit is contained in:
@ -6,6 +6,7 @@ import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.gc.materialdesign.views.ProgressBarCircularIndeterminate;
|
||||
import com.gh.base.BaseActivity;
|
||||
@ -19,12 +20,15 @@ import butterknife.OnClick;
|
||||
* Created by khy on 24/05/17.
|
||||
*/
|
||||
|
||||
public class ToolBoxActivity extends BaseActivity implements SwipeRefreshLayout.OnRefreshListener{
|
||||
public class ToolBoxActivity extends BaseActivity implements SwipeRefreshLayout.OnRefreshListener,
|
||||
ToolBoxRvAdapter.OnSearchCallBackListener {
|
||||
|
||||
@BindView(R.id.toolbox_rv)
|
||||
RecyclerView mToolboxRv;
|
||||
@BindView(R.id.reuse_none_data)
|
||||
LinearLayout mNoneData;
|
||||
@BindView(R.id.reuse_tv_none_data)
|
||||
TextView mNoneDataTv;
|
||||
@BindView(R.id.reuse_no_connection)
|
||||
LinearLayout mNoConnection;
|
||||
@BindView(R.id.toolbox_refresh)
|
||||
@ -34,12 +38,18 @@ public class ToolBoxActivity extends BaseActivity implements SwipeRefreshLayout.
|
||||
|
||||
private LinearLayoutManager mLayoutManager;
|
||||
private ToolBoxRvAdapter mRvAdapter;
|
||||
private ToolBoxRvAdapter mNormalRvAdapter;
|
||||
|
||||
|
||||
private boolean mIsSearch; // 记录页面状态 搜索页面/普通页面
|
||||
private String mSearckKey; // 记录搜索关键字
|
||||
|
||||
Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mRvAdapter = new ToolBoxRvAdapter(ToolBoxActivity.this, ToolBoxActivity.this);
|
||||
mToolboxRv.setAdapter(mRvAdapter);
|
||||
// mRvAdapter = new ToolBoxRvAdapter(ToolBoxActivity.this, ToolBoxActivity.this, ToolBoxActivity.this, mIsSearch, mSearckKey);
|
||||
// mToolboxRv.setAdapter(mRvAdapter);
|
||||
changeAdapter(true);
|
||||
}
|
||||
};
|
||||
|
||||
@ -59,10 +69,12 @@ public class ToolBoxActivity extends BaseActivity implements SwipeRefreshLayout.
|
||||
|
||||
mLayoutManager = new LinearLayoutManager(this);
|
||||
mToolboxRv.setLayoutManager(mLayoutManager);
|
||||
mRvAdapter = new ToolBoxRvAdapter(this, this);
|
||||
mToolboxRv.addItemDecoration(new VerticalItemDecoration(this, 8, true));
|
||||
mRvAdapter = new ToolBoxRvAdapter(this, this, ToolBoxActivity.this, mIsSearch, mSearckKey);
|
||||
mToolboxRv.addItemDecoration(new VerticalItemDecoration(this, 8, false));
|
||||
mToolboxRv.setAdapter(mRvAdapter);
|
||||
|
||||
mNormalRvAdapter = mRvAdapter;
|
||||
|
||||
mToolboxRv.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
||||
@Override
|
||||
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
|
||||
@ -70,18 +82,26 @@ public class ToolBoxActivity extends BaseActivity implements SwipeRefreshLayout.
|
||||
if (newState == RecyclerView.SCROLL_STATE_IDLE
|
||||
&& mLayoutManager.findLastVisibleItemPosition() + 1 == mRvAdapter.getItemCount()) {
|
||||
if (!mRvAdapter.isOver() && !mRvAdapter.isLoading() && !mRvAdapter.isNetworkError()) {
|
||||
// mRvAdapter.loadData();
|
||||
mRvAdapter.loadData(mIsSearch, mRvAdapter.dataSize());
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@OnClick(R.id.reuse_no_connection)
|
||||
public void onClick() {
|
||||
mLoading.setVisibility(View.VISIBLE);
|
||||
mNoConnection.setVisibility(View.GONE);
|
||||
mLoading.postDelayed(runnable, 1000);
|
||||
@OnClick({R.id.reuse_no_connection, R.id.reuse_tv_none_data})
|
||||
public void onClick(View view) {
|
||||
if (view.getId() == R.id.reuse_no_connection) {
|
||||
mLoading.setVisibility(View.VISIBLE);
|
||||
mNoConnection.setVisibility(View.GONE);
|
||||
mLoading.postDelayed(runnable, 1000);
|
||||
} else if (view.getId() == R.id.reuse_none_data) {
|
||||
if (mIsSearch) {
|
||||
// TODO反馈
|
||||
SuggestionActivity.startSuggestionActivity(this, 2, null, null);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -90,7 +110,6 @@ public class ToolBoxActivity extends BaseActivity implements SwipeRefreshLayout.
|
||||
mRefresh.setRefreshing(false);
|
||||
mNoneData.setVisibility(View.GONE);
|
||||
mNoConnection.setVisibility(View.GONE);
|
||||
mToolboxRv.setVisibility(View.VISIBLE);
|
||||
mLoading.setVisibility(View.GONE);
|
||||
|
||||
}
|
||||
@ -101,8 +120,12 @@ public class ToolBoxActivity extends BaseActivity implements SwipeRefreshLayout.
|
||||
mRefresh.setRefreshing(false);
|
||||
mNoneData.setVisibility(View.VISIBLE);
|
||||
mNoConnection.setVisibility(View.GONE);
|
||||
mToolboxRv.setVisibility(View.GONE);
|
||||
mLoading.setVisibility(View.GONE);
|
||||
if (mIsSearch) {
|
||||
mNoneDataTv.setText("未找到结果,点我反馈");
|
||||
} else {
|
||||
mNoneDataTv.setText(getResources().getString(R.string.game_empty));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -111,7 +134,6 @@ public class ToolBoxActivity extends BaseActivity implements SwipeRefreshLayout.
|
||||
mRefresh.setRefreshing(false);
|
||||
mNoneData.setVisibility(View.GONE);
|
||||
mNoConnection.setVisibility(View.VISIBLE);
|
||||
mToolboxRv.setVisibility(View.GONE);
|
||||
mLoading.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
@ -119,4 +141,28 @@ public class ToolBoxActivity extends BaseActivity implements SwipeRefreshLayout.
|
||||
public void onRefresh() {
|
||||
mRefresh.postDelayed(runnable, 1000);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void search(boolean isSearch, String searchKey) {
|
||||
if (mNoneData.getVisibility() == View.VISIBLE) {
|
||||
mNoneData.setVisibility(View.GONE);
|
||||
}
|
||||
mIsSearch = isSearch;
|
||||
mSearckKey = searchKey;
|
||||
changeAdapter(false);
|
||||
}
|
||||
|
||||
private void changeAdapter(boolean isRefresh) {
|
||||
if (mIsSearch) {
|
||||
mRvAdapter = new ToolBoxRvAdapter(this, this, this, mIsSearch, mSearckKey);
|
||||
} else {
|
||||
if (mNormalRvAdapter != null && !isRefresh) {
|
||||
mRvAdapter = mNormalRvAdapter;
|
||||
} else {
|
||||
mRvAdapter = new ToolBoxRvAdapter(this, this, this, mIsSearch, null);
|
||||
mNormalRvAdapter = mRvAdapter;
|
||||
}
|
||||
}
|
||||
mToolboxRv.setAdapter(mRvAdapter);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user