pdlivexp/OneToOne/src/main/java/com/shayu/onetoone/activity/HomeSearchActivity.java
2023-10-30 18:25:16 +08:00

141 lines
5.0 KiB
Java

package com.shayu.onetoone.activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.shayu.onetoone.R;
import com.shayu.onetoone.adapter.HomeHotListAdapter;
import com.shayu.onetoone.adapter.HomeRecommendListAdapter;
import com.shayu.onetoone.bean.HomeItemBean;
import com.shayu.onetoone.manager.OTONetManager;
import com.shayu.onetoone.manager.RouteManager;
import com.yunbao.common.adapter.SpaceGridItemDecoration;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import java.util.List;
import io.rong.imkit.widget.refresh.SmartRefreshLayout;
import io.rong.imkit.widget.refresh.api.RefreshLayout;
import io.rong.imkit.widget.refresh.listener.OnLoadMoreListener;
import io.rong.imkit.widget.refresh.wrapper.RongRefreshHeader;
@Route(path = RouteManager.ACTIVITY_HOME_SEARCH)
public class HomeSearchActivity extends AbsOTOActivity {
View viewEmpty;
View refresh;
SmartRefreshLayout swipeRefreshLayout;
RecyclerView searchList;
RecyclerView recommendList;
EditText edit;
TextView searchBtn;
int page = 1;
HomeRecommendListAdapter searchListAdapter;
HomeHotListAdapter recommendListAdapter;
@Override
protected int getLayoutId() {
return R.layout.activity_search;
}
@Override
protected void main(Bundle savedInstanceState) {
viewEmpty = findViewById(R.id.view_empty);
refresh = findViewById(R.id.refresh);
swipeRefreshLayout = findViewById(R.id.swipeRefreshLayout);
searchList = findViewById(R.id.searchList);
recommendList = findViewById(R.id.recommendList);
edit = findViewById(R.id.edit);
searchBtn = findViewById(R.id.search);
searchListAdapter = new HomeRecommendListAdapter(this);
recommendListAdapter = new HomeHotListAdapter(this);
swipeRefreshLayout.autoLoadMore();
swipeRefreshLayout.setEnableRefresh(false);
swipeRefreshLayout.setRefreshFooter(new RongRefreshHeader(this));
swipeRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
@Override
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
page++;
search(edit.getText().toString());
}
});
searchList.setAdapter(searchListAdapter);
recommendList.setAdapter(recommendListAdapter);
recommendList.addItemDecoration(new SpaceGridItemDecoration(10));
refresh.setOnClickListener(v -> refresh());
searchBtn.setOnClickListener(v -> search(edit.getText().toString()));
edit.setText(getIntent().getExtras().getString("search"));
search(edit.getText().toString());
refresh();
}
private void search(String key) {
if (StringUtil.isEmpty(key)) {
ToastUtil.show(R.string.search_empty);
return;
}
OTONetManager.getInstance(mContext)
.search(key,
"",
"",
"",
page + "",
new HttpCallback<List<HomeItemBean>>() {
@Override
public void onSuccess(List<HomeItemBean> data) {
if (page == 1 && data.isEmpty()) {
searchList.setVisibility(View.GONE);
viewEmpty.setVisibility(View.VISIBLE);
return;
}
viewEmpty.setVisibility(View.GONE);
searchList.setVisibility(View.VISIBLE);
if (page != 1 && data.isEmpty()) {
page--;
swipeRefreshLayout.finishLoadMore();
return;
}
if (page == 1) {
searchListAdapter.setList(data);
} else {
searchListAdapter.addLst(data);
}
}
@Override
public void onError(String error) {
}
}
);
}
private void refresh() {
OTONetManager.getInstance(this)
.getSearchRecommend(new HttpCallback<List<HomeItemBean>>() {
@Override
public void onSuccess(List<HomeItemBean> data) {
recommendListAdapter.setList(data);
}
@Override
public void onError(String error) {
}
});
}
}