大数据关键词
This commit is contained in:
parent
bdf313cdd1
commit
1c52db7d3a
@ -112,6 +112,7 @@ public class PathConfig {
|
|||||||
public static final String PATH_MODULE_MAIN_NEWS_WEB = "/modulemain/activity/newsweb";//连接新闻页
|
public static final String PATH_MODULE_MAIN_NEWS_WEB = "/modulemain/activity/newsweb";//连接新闻页
|
||||||
public static final String PATH_MODULE_MAIN_NEWS_DETAIL_INTERFACE = "/modulemain/activity/newsInterface";//新闻详情页面-接口方式
|
public static final String PATH_MODULE_MAIN_NEWS_DETAIL_INTERFACE = "/modulemain/activity/newsInterface";//新闻详情页面-接口方式
|
||||||
public static final String PATH_MODULE_MAIN_NEWS_SEARCH = "/modulemain/activity/newsSearch";//新闻收搜
|
public static final String PATH_MODULE_MAIN_NEWS_SEARCH = "/modulemain/activity/newsSearch";//新闻收搜
|
||||||
|
public static final String PATH_MODULE_MAIN_COMMON_SEARCH = "/modulemain/activity/commonSearch";
|
||||||
//======================Map==================================================
|
//======================Map==================================================
|
||||||
public static final String PATH_MODULE_MAP_NAVIGATION = "/modulemap/activity/navigation";//地图
|
public static final String PATH_MODULE_MAP_NAVIGATION = "/modulemap/activity/navigation";//地图
|
||||||
public static final String PATH_MODULE_MAP_SHOW_ICON = "/modulemap/activity/showicon";//文化地图
|
public static final String PATH_MODULE_MAP_SHOW_ICON = "/modulemap/activity/showicon";//文化地图
|
||||||
@ -276,4 +277,5 @@ public class PathConfig {
|
|||||||
public static final String PATH_MODULE_SHOP_ACTIVITY_SHOP_MINE_ORDER_DETAIL = "/moduleshop/activity/shopOrderDetail";//我的订单
|
public static final String PATH_MODULE_SHOP_ACTIVITY_SHOP_MINE_ORDER_DETAIL = "/moduleshop/activity/shopOrderDetail";//我的订单
|
||||||
public static final String PATH_MODULE_SHOP_ACTIVITY_SHOP_ADD_ADDRESS = "/moduleshop/activity/shopAddAddress";//新增收货地
|
public static final String PATH_MODULE_SHOP_ACTIVITY_SHOP_ADD_ADDRESS = "/moduleshop/activity/shopAddAddress";//新增收货地
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
package com.sucstepsoft.cm_utils.core.listener;
|
||||||
|
|
||||||
|
import android.text.Editable;
|
||||||
|
import android.text.TextWatcher;
|
||||||
|
|
||||||
|
public abstract class SimpleTextWatch implements TextWatcher {
|
||||||
|
@Override
|
||||||
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterTextChanged(Editable s) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -98,7 +98,13 @@ public abstract class BaseActivity extends AppCompatActivity {
|
|||||||
protected TypeFaceTextView mTvAppBack;
|
protected TypeFaceTextView mTvAppBack;
|
||||||
protected LinearLayout mLlBaseSearch;
|
protected LinearLayout mLlBaseSearch;
|
||||||
protected EditText mEtBaseSearch;
|
protected EditText mEtBaseSearch;
|
||||||
private LinearLayout mLlBaseTitle;
|
protected LinearLayout mLlBaseTitle;
|
||||||
|
protected LinearLayout mLlSearchBar;
|
||||||
|
protected Button mBtnSearchBack;
|
||||||
|
protected EditText mEtSearchBar;
|
||||||
|
protected ImageView mIvSearchClear;
|
||||||
|
protected ImageView mIvSearchBtn;
|
||||||
|
|
||||||
// protected BoomMenuButton mBbMenu;
|
// protected BoomMenuButton mBbMenu;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -279,6 +285,18 @@ public abstract class BaseActivity extends AppCompatActivity {
|
|||||||
* 初始化标题布局
|
* 初始化标题布局
|
||||||
*/
|
*/
|
||||||
private void baseActivityInitViews() {
|
private void baseActivityInitViews() {
|
||||||
|
//搜索栏
|
||||||
|
mLlSearchBar = findViewById(R.id.ll_base_search_bar);
|
||||||
|
//搜索返回按钮
|
||||||
|
mBtnSearchBack = findViewById(R.id.btn_search_back);
|
||||||
|
mBtnSearchBack.setOnClickListener(v -> finish());
|
||||||
|
//搜索输入框
|
||||||
|
mEtSearchBar = findViewById(R.id.et_search_bar);
|
||||||
|
//搜索清除
|
||||||
|
mIvSearchClear = findViewById(R.id.iv_search_clear);
|
||||||
|
//搜索按钮
|
||||||
|
mIvSearchBtn = findViewById(R.id.iv_search_btn);
|
||||||
|
|
||||||
mLlTitleBar = findViewById(R.id.ll_title_bar);
|
mLlTitleBar = findViewById(R.id.ll_title_bar);
|
||||||
mRlTrTitleBar = findViewById(R.id.rl_tr_app_title);
|
mRlTrTitleBar = findViewById(R.id.rl_tr_app_title);
|
||||||
mBtnTrBack = findViewById(R.id.ib_tr_app_back);
|
mBtnTrBack = findViewById(R.id.ib_tr_app_back);
|
||||||
|
@ -18,8 +18,16 @@ import androidx.fragment.app.Fragment;
|
|||||||
|
|
||||||
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
|
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
|
||||||
import com.sucstepsoft.cm_utils.R;
|
import com.sucstepsoft.cm_utils.R;
|
||||||
|
import com.sucstepsoft.cm_utils.core.beans.BaseSuccessBean;
|
||||||
|
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
|
||||||
|
import com.sucstepsoft.cm_utils.core.retrofit_net.api.BaseApiService;
|
||||||
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
|
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
|
||||||
|
|
||||||
|
import io.reactivex.Observer;
|
||||||
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||||
|
import io.reactivex.disposables.Disposable;
|
||||||
|
import io.reactivex.schedulers.Schedulers;
|
||||||
|
|
||||||
public abstract class BaseFragment extends Fragment {
|
public abstract class BaseFragment extends Fragment {
|
||||||
public static final int STATE_LOAD = 1234;//加载中
|
public static final int STATE_LOAD = 1234;//加载中
|
||||||
public static final int STATE_ERROR = 1235;//加载失败
|
public static final int STATE_ERROR = 1235;//加载失败
|
||||||
@ -138,6 +146,39 @@ public abstract class BaseFragment extends Fragment {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setKeywords(String key) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void bigDataRead(String params) {
|
||||||
|
RetrofitManager.getInstance()
|
||||||
|
.create(BaseApiService.class)
|
||||||
|
.bigDataRead(params)
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(new Observer<BaseSuccessBean>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(Disposable d) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(BaseSuccessBean baseSuccessBean) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public Context getApplicationContext() {
|
public Context getApplicationContext() {
|
||||||
return context;
|
return context;
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,71 @@
|
|||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/ll_title_bar"
|
android:id="@+id/ll_title_bar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
<!--搜索栏-->
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/ll_base_search_bar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:visibility="gone"
|
||||||
|
tools:visibility="visible">
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/btn_search_back"
|
||||||
|
android:layout_width="25dp"
|
||||||
|
android:layout_height="25dp"
|
||||||
|
android:layout_centerInParent="true"
|
||||||
|
android:layout_marginLeft="10dp"
|
||||||
|
android:background="@drawable/ic_back_black"
|
||||||
|
android:scaleType="fitXY" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="10dp"
|
||||||
|
android:layout_marginRight="10dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:background="@drawable/shp_rectangle_gray"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:padding="5dp">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:src="@drawable/ic_search_icon" />
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/et_search_bar"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="10dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:background="@null"
|
||||||
|
android:hint="请输入要查询的内容"
|
||||||
|
android:imeOptions="actionSearch"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textSize="@dimen/text_14" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/iv_search_clear"
|
||||||
|
android:layout_width="15dp"
|
||||||
|
android:layout_height="15dp"
|
||||||
|
android:src="@drawable/ic_clear_edit"
|
||||||
|
android:visibility="invisible" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/iv_search_btn"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginRight="10dp"
|
||||||
|
android:background="@drawable/ic_search_icon" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:id="@+id/rl_title_bar"
|
android:id="@+id/rl_title_bar"
|
||||||
|
@ -35,6 +35,16 @@ public interface ApiActivity {
|
|||||||
@GET("app/activitylibrary/listpageactivitylibraryrelease")
|
@GET("app/activitylibrary/listpageactivitylibraryrelease")
|
||||||
Observable<ActivityListBeans> getActivityList(@Query("page") String page);
|
Observable<ActivityListBeans> getActivityList(@Query("page") String page);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取活动列表-全部
|
||||||
|
*
|
||||||
|
* @param page
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Headers({"base_url_name:activity", "Content-Type:application/json", "Accept:application/json"})
|
||||||
|
@GET("app/activitylibrary/listpageactivitylibraryrelease")
|
||||||
|
Observable<ActivityListBeans> getActivityList(@Query("page") String page, @Query("keywords") String key);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取活动列表-全部
|
* 获取活动列表-全部
|
||||||
*
|
*
|
||||||
|
@ -49,6 +49,11 @@ public interface CulturalApi {
|
|||||||
@GET("app/intangiblelibrary/listpageintangiblelibraryrelease")
|
@GET("app/intangiblelibrary/listpageintangiblelibraryrelease")
|
||||||
Observable<LegacyListBean> getLegacyList(@Query("page") String page);
|
Observable<LegacyListBean> getLegacyList(@Query("page") String page);
|
||||||
|
|
||||||
|
|
||||||
|
@Headers({"base_url_name:legacy", "Content-Type:application/json", "Accept:application/json", "need_area:true"})
|
||||||
|
@GET("app/intangiblelibrary/listpageintangiblelibraryrelease")
|
||||||
|
Observable<LegacyListBean> getLegacyList(@Query("page") String page, @Query("rows") String rows, @Query("keywords") String key);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取非遗列表
|
* 获取非遗列表
|
||||||
*/
|
*/
|
||||||
@ -237,6 +242,14 @@ public interface CulturalApi {
|
|||||||
@GET("app/volunteerservice/listpagevolunteerservicerelease")
|
@GET("app/volunteerservice/listpagevolunteerservicerelease")
|
||||||
Observable<VolunteerActivitybean> getVolunteerActivityList(@Query("rows") String rows, @Query("page") String page);
|
Observable<VolunteerActivitybean> getVolunteerActivityList(@Query("rows") String rows, @Query("page") String page);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 志愿者活动列表---搜索
|
||||||
|
* GET /app/volunteerservice/listpagevolunteerservicerelease
|
||||||
|
*/
|
||||||
|
@Headers({"base_url_name:volunteer", "Content-Type:application/json", "Accept:application/json", "need_area:true"})
|
||||||
|
@GET("app/volunteerservice/listpagevolunteerservicerelease")
|
||||||
|
Observable<VolunteerActivitybean> getVolunteerActivityList(@Query("rows") String rows, @Query("page") String page, @Query("keywords") String key);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 我参加的志愿者活动
|
* 我参加的志愿者活动
|
||||||
* GET /app/volunteerservice/listpagemyjoinservice
|
* GET /app/volunteerservice/listpagemyjoinservice
|
||||||
@ -334,6 +347,14 @@ public interface CulturalApi {
|
|||||||
@GET("app/liveplan/listpageliveplanrelease")
|
@GET("app/liveplan/listpageliveplanrelease")
|
||||||
Observable<CulturalLiveBean> getLiveRecord(@Query("page") String page);
|
Observable<CulturalLiveBean> getLiveRecord(@Query("page") String page);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 直播回放列表
|
||||||
|
* http://192.168.0.104:8084/live/
|
||||||
|
*/
|
||||||
|
@Headers({"base_url_name:live", "Content-Type:application/json", "Accept:application/json", "need_area:false"})
|
||||||
|
@GET("app/liveplan/listpageliveplanrelease")
|
||||||
|
Observable<CulturalLiveBean> getLiveRecord(@Query("page") String page, @Query("keywords") String key);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 直播详情
|
* 直播详情
|
||||||
* http://192.168.0.104:8084/live/app/liveplan/listpageliveplanrelease
|
* http://192.168.0.104:8084/live/app/liveplan/listpageliveplanrelease
|
||||||
|
@ -33,6 +33,12 @@
|
|||||||
<application
|
<application
|
||||||
android:maxAspectRatio="2.4"
|
android:maxAspectRatio="2.4"
|
||||||
android:resizeableActivity="true">
|
android:resizeableActivity="true">
|
||||||
|
<activity
|
||||||
|
android:name=".cultural.activitys.base.CommonSearchActivity"
|
||||||
|
android:configChanges="keyboardHidden|orientation|screenSize|screenLayout"
|
||||||
|
android:exported="false"
|
||||||
|
android:launchMode="singleTop"
|
||||||
|
android:screenOrientation="portrait" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".cultural.activitys.news.NewsSearchActivity"
|
android:name=".cultural.activitys.news.NewsSearchActivity"
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize|screenLayout"
|
android:configChanges="keyboardHidden|orientation|screenSize|screenLayout"
|
||||||
|
@ -0,0 +1,243 @@
|
|||||||
|
package com.tengshisoft.mudulemain.cultural.activitys.base;
|
||||||
|
|
||||||
|
import android.graphics.Color;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.inputmethod.EditorInfo;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.fragment.app.Fragment;
|
||||||
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||||
|
import androidx.viewpager2.widget.ViewPager2;
|
||||||
|
|
||||||
|
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||||
|
import com.google.android.material.tabs.TabLayout;
|
||||||
|
import com.gyf.immersionbar.ImmersionBar;
|
||||||
|
import com.sucstepsoft.cm_utils.constant.PathConfig;
|
||||||
|
import com.sucstepsoft.cm_utils.core.listener.SimpleTextWatch;
|
||||||
|
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
|
||||||
|
import com.sucstepsoft.cm_utils.core.widget.base.BaseFragment;
|
||||||
|
import com.sucstepsoft.cm_utils.core.widget.views.CustomStateView;
|
||||||
|
import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView;
|
||||||
|
import com.sucstepsoft.cm_utils.utils.toast.ToastUtils;
|
||||||
|
import com.tengshisoft.mudulemain.R;
|
||||||
|
import com.tengshisoft.mudulemain.R2;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.fragment.SearchActivityFragment;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.fragment.SearchLegacyFragment;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.fragment.SearchLiveFragment;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.fragment.SearchPlaceFragment;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.fragment.SearchVolumentActivityFragment;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import butterknife.BindView;
|
||||||
|
import butterknife.ButterKnife;
|
||||||
|
|
||||||
|
@Route(path = PathConfig.PATH_MODULE_MAIN_COMMON_SEARCH)
|
||||||
|
public class CommonSearchActivity extends BaseActivity {
|
||||||
|
@BindView(R2.id.xtl_search_type)
|
||||||
|
TabLayout mXTabLayout;
|
||||||
|
@BindView(R2.id.vp_content)
|
||||||
|
ViewPager2 mVpContent;
|
||||||
|
@BindView(R2.id.cs_state)
|
||||||
|
CustomStateView mCvState;
|
||||||
|
@BindView(R2.id.ll_content)
|
||||||
|
LinearLayout mLlContent;
|
||||||
|
|
||||||
|
private String[] mSearchTab = new String[]{"活动", "非遗数据", "场馆", "志愿者活动"};
|
||||||
|
private String mKeywords = "";
|
||||||
|
private List<BaseFragment> mFragments = new ArrayList<>();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int setLayoutId() {
|
||||||
|
return R.layout.activity_common_search;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initData() {
|
||||||
|
ButterKnife.bind(this);
|
||||||
|
mRlTitleBar.setVisibility(View.GONE);
|
||||||
|
mRlTitleBar1.setVisibility(View.GONE);
|
||||||
|
ImmersionBar.with(this)
|
||||||
|
.transparentStatusBar()
|
||||||
|
.statusBarDarkFont(true)
|
||||||
|
.fullScreen(true)
|
||||||
|
.titleBar(mLlSearchBar)
|
||||||
|
.init();
|
||||||
|
mLlSearchBar.setVisibility(View.VISIBLE);
|
||||||
|
refreshView(STATE_LOAD_SUCCESS);
|
||||||
|
mCvState.setState(CustomStateView.STATE_SEARCH);
|
||||||
|
mLlContent.setVisibility(View.GONE);
|
||||||
|
mIvSearchBtn.setVisibility(View.INVISIBLE);
|
||||||
|
//搜索输入框
|
||||||
|
// mEtSearchBar;
|
||||||
|
//搜索清除
|
||||||
|
// mIvSearchClear;
|
||||||
|
mEtSearchBar.setOnEditorActionListener((v, actionId, event) -> {
|
||||||
|
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
|
||||||
|
mKeywords = mEtSearchBar.getText().toString().trim();
|
||||||
|
hideSoftKeyboard();
|
||||||
|
if (TextUtils.isEmpty(mKeywords)) {
|
||||||
|
ToastUtils.show("请输入要查询的内容");
|
||||||
|
} else {
|
||||||
|
mCvState.setState(CustomStateView.STATE_LOAD);
|
||||||
|
if (mFragments != null && mFragments.size() > 0) {
|
||||||
|
doRefreshFragments();
|
||||||
|
} else {
|
||||||
|
doSearch();
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
mEtSearchBar.addTextChangedListener(new SimpleTextWatch() {
|
||||||
|
@Override
|
||||||
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
|
if (TextUtils.isEmpty(s)) {
|
||||||
|
mLlContent.setVisibility(View.INVISIBLE);
|
||||||
|
mCvState.setState(CustomStateView.STATE_SEARCH);
|
||||||
|
mIvSearchClear.setVisibility(View.INVISIBLE);
|
||||||
|
} else {
|
||||||
|
mIvSearchClear.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
mIvSearchClear.setOnClickListener(v -> mEtSearchBar.setText(""));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private void doRefreshFragments() {
|
||||||
|
mCvState.setState(CustomStateView.STATE_SUCCESS);
|
||||||
|
mLlContent.setVisibility(View.VISIBLE);
|
||||||
|
for (int i = 0; i < mFragments.size(); i++) {
|
||||||
|
mFragments.get(i).setKeywords(mKeywords);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 第一次搜索,初始化页面
|
||||||
|
*/
|
||||||
|
private void doSearch() {
|
||||||
|
Bundle bundle = new Bundle();
|
||||||
|
String params1 = String.format(getResources().getString(R.string.big_data_str), "QUERY", mKeywords, "活动");
|
||||||
|
bigDataRead(params1);
|
||||||
|
String params2 = String.format(getResources().getString(R.string.big_data_str), "QUERY", mKeywords, "非遗");
|
||||||
|
bigDataRead(params2);
|
||||||
|
// String params3 = String.format(getResources().getString(R.string.big_data_str), "QUERY", mKeywords, "直播");
|
||||||
|
// bigDataRead(params3);
|
||||||
|
String params4 = String.format(getResources().getString(R.string.big_data_str), "QUERY", mKeywords, "场馆");
|
||||||
|
bigDataRead(params4);
|
||||||
|
String params5 = String.format(getResources().getString(R.string.big_data_str), "QUERY", mKeywords, "志愿");
|
||||||
|
bigDataRead(params5);
|
||||||
|
bundle.putString("keywords", mKeywords);
|
||||||
|
|
||||||
|
SearchActivityFragment activityFragment = new SearchActivityFragment();
|
||||||
|
activityFragment.setArguments(bundle);
|
||||||
|
|
||||||
|
SearchLegacyFragment legacyFragment = new SearchLegacyFragment();
|
||||||
|
legacyFragment.setArguments(bundle);
|
||||||
|
|
||||||
|
SearchPlaceFragment placeFragment = new SearchPlaceFragment();
|
||||||
|
placeFragment.setArguments(bundle);
|
||||||
|
|
||||||
|
// SearchLiveFragment liveFragment = new SearchLiveFragment();
|
||||||
|
// liveFragment.setArguments(bundle);
|
||||||
|
|
||||||
|
SearchVolumentActivityFragment volumentActivityFragment = new SearchVolumentActivityFragment();
|
||||||
|
volumentActivityFragment.setArguments(bundle);
|
||||||
|
|
||||||
|
mFragments.add(activityFragment);
|
||||||
|
mFragments.add(legacyFragment);
|
||||||
|
mFragments.add(placeFragment);
|
||||||
|
// mFragments.add(liveFragment);
|
||||||
|
mFragments.add(volumentActivityFragment);
|
||||||
|
for (int i = 0; i < mSearchTab.length; i++) {
|
||||||
|
View view = View.inflate(mActivity, R.layout.item_tab_custom_view, null);
|
||||||
|
TypeFaceTextView textView = view.findViewById(com.tengshisoft.modulecultural.R.id.tv_tab_title);
|
||||||
|
textView.setText(mSearchTab[i]);
|
||||||
|
mXTabLayout.addTab(mXTabLayout.newTab().setCustomView(view));
|
||||||
|
}
|
||||||
|
mXTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
|
||||||
|
@Override
|
||||||
|
public void onTabSelected(TabLayout.Tab tab) {
|
||||||
|
View tabView = tab.getCustomView();
|
||||||
|
tabView.findViewById(com.tengshisoft.modulecultural.R.id.iv_right).setVisibility(View.VISIBLE);
|
||||||
|
tabView.findViewById(com.tengshisoft.modulecultural.R.id.iv_Left).setVisibility(View.VISIBLE);
|
||||||
|
TextView tvTab = tabView.findViewById(com.tengshisoft.modulecultural.R.id.tv_tab_title);
|
||||||
|
tvTab.setTextColor(Color.RED);
|
||||||
|
mVpContent.setCurrentItem(tab.getPosition());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTabUnselected(TabLayout.Tab tab) {
|
||||||
|
View tabView = tab.getCustomView();
|
||||||
|
tabView.findViewById(com.tengshisoft.modulecultural.R.id.iv_right).setVisibility(View.INVISIBLE);
|
||||||
|
tabView.findViewById(com.tengshisoft.modulecultural.R.id.iv_Left).setVisibility(View.INVISIBLE);
|
||||||
|
TextView tvTab = tabView.findViewById(com.tengshisoft.modulecultural.R.id.tv_tab_title);
|
||||||
|
tvTab.setTextColor(Color.GRAY);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTabReselected(TabLayout.Tab tab) {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
mXTabLayout.setTabIndicatorFullWidth(false);
|
||||||
|
View customView = mXTabLayout.getTabAt(0).getCustomView();
|
||||||
|
customView.findViewById(com.tengshisoft.modulecultural.R.id.iv_right).setVisibility(View.VISIBLE);
|
||||||
|
customView.findViewById(com.tengshisoft.modulecultural.R.id.iv_Left).setVisibility(View.VISIBLE);
|
||||||
|
TextView tvTab = customView.findViewById(com.tengshisoft.modulecultural.R.id.tv_tab_title);
|
||||||
|
tvTab.setTextColor(Color.RED);
|
||||||
|
MyFragmentPageAdapter adapter = new MyFragmentPageAdapter(CommonSearchActivity.this);
|
||||||
|
mVpContent.setAdapter(adapter);
|
||||||
|
mVpContent.setCurrentItem(0);
|
||||||
|
mVpContent.setUserInputEnabled(false);
|
||||||
|
mVpContent.setOffscreenPageLimit(4);
|
||||||
|
mVpContent.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
|
||||||
|
@Override
|
||||||
|
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||||
|
super.onPageScrolled(position, positionOffset, positionOffsetPixels);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPageSelected(int position) {
|
||||||
|
super.onPageSelected(position);
|
||||||
|
mXTabLayout.selectTab(mXTabLayout.getTabAt(position));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPageScrollStateChanged(int state) {
|
||||||
|
super.onPageScrollStateChanged(state);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
mLlContent.setVisibility(View.VISIBLE);
|
||||||
|
mCvState.setState(CustomStateView.STATE_SUCCESS);
|
||||||
|
}
|
||||||
|
|
||||||
|
private class MyFragmentPageAdapter extends FragmentStateAdapter {
|
||||||
|
|
||||||
|
|
||||||
|
public MyFragmentPageAdapter(@NonNull FragmentActivity fragmentActivity) {
|
||||||
|
super(fragmentActivity);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public Fragment createFragment(int position) {
|
||||||
|
return mFragments.get(position);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getItemCount() {
|
||||||
|
return mFragments.size();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -19,6 +19,7 @@ import com.baidu.location.BDAbstractLocationListener;
|
|||||||
import com.baidu.location.BDLocation;
|
import com.baidu.location.BDLocation;
|
||||||
import com.baidu.location.LocationClient;
|
import com.baidu.location.LocationClient;
|
||||||
import com.baidu.location.LocationClientOption;
|
import com.baidu.location.LocationClientOption;
|
||||||
|
import com.bumptech.glide.Glide;
|
||||||
import com.gyf.immersionbar.ImmersionBar;
|
import com.gyf.immersionbar.ImmersionBar;
|
||||||
import com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx;
|
import com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx;
|
||||||
import com.sucstepsoft.cm_utils.constant.PathConfig;
|
import com.sucstepsoft.cm_utils.constant.PathConfig;
|
||||||
@ -116,10 +117,17 @@ public class MainActivity extends BaseActivity {
|
|||||||
mLlTitleBar.setVisibility(View.VISIBLE);
|
mLlTitleBar.setVisibility(View.VISIBLE);
|
||||||
mRlTitleBar.setVisibility(View.VISIBLE);
|
mRlTitleBar.setVisibility(View.VISIBLE);
|
||||||
mRlTitleBar1.setVisibility(View.VISIBLE);
|
mRlTitleBar1.setVisibility(View.VISIBLE);
|
||||||
mIvInto.setVisibility(View.GONE);
|
|
||||||
mVpContent.setCurrentItem(0, false);
|
mVpContent.setCurrentItem(0, false);
|
||||||
mTvBaseTitle.setText(UserLgUtils.getAppName());
|
mTvBaseTitle.setText(UserLgUtils.getAppName());
|
||||||
mTvAppBack.setVisibility(View.GONE);
|
mTvAppBack.setVisibility(View.GONE);
|
||||||
|
mLlImg.setVisibility(View.VISIBLE);
|
||||||
|
mIvInto.setVisibility(View.VISIBLE);
|
||||||
|
Glide.with(mActivity)
|
||||||
|
.load(R.drawable.ic_search_icon_white)
|
||||||
|
.into(mIvInto);
|
||||||
|
mIvInto.setOnClickListener(v -> ARouter.getInstance()
|
||||||
|
.build(PathConfig.PATH_MODULE_MAIN_COMMON_SEARCH).navigation());
|
||||||
|
|
||||||
// String city = TextUtils.isEmpty(UserLgUtils.getCurrentCity()) ? "地区选择" : UserLgUtils.getCurrentCity();
|
// String city = TextUtils.isEmpty(UserLgUtils.getCurrentCity()) ? "地区选择" : UserLgUtils.getCurrentCity();
|
||||||
// mTvAppBack.setText(city);
|
// mTvAppBack.setText(city);
|
||||||
return true;
|
return true;
|
||||||
@ -190,6 +198,14 @@ public class MainActivity extends BaseActivity {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
mLlImg.setVisibility(View.VISIBLE);
|
||||||
|
mIvInto.setVisibility(View.VISIBLE);
|
||||||
|
Glide.with(mActivity)
|
||||||
|
.load(R.drawable.ic_search_icon_white)
|
||||||
|
.into(mIvInto);
|
||||||
|
mIvInto.setOnClickListener(v -> ARouter.getInstance()
|
||||||
|
.build(PathConfig.PATH_MODULE_MAIN_COMMON_SEARCH).navigation());
|
||||||
|
|
||||||
mRlTitleBar.setVisibility(View.VISIBLE);
|
mRlTitleBar.setVisibility(View.VISIBLE);
|
||||||
mRlTitleBar1.setVisibility(View.VISIBLE);
|
mRlTitleBar1.setVisibility(View.VISIBLE);
|
||||||
mTvAppBack.setVisibility(View.GONE);
|
mTvAppBack.setVisibility(View.GONE);
|
||||||
|
@ -0,0 +1,174 @@
|
|||||||
|
package com.tengshisoft.mudulemain.cultural.fragment;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import com.sucstepsoft.cm_utils.core.beans.BaseSuccessBean;
|
||||||
|
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
|
||||||
|
import com.sucstepsoft.cm_utils.core.retrofit_net.api.BaseApiService;
|
||||||
|
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
|
||||||
|
import com.sucstepsoft.cm_utils.core.widget.base.BaseFragment;
|
||||||
|
import com.sucstepsoft.cm_utils.utils.ExceptionHandler;
|
||||||
|
import com.tengshisoft.moduleactivity.adapter.ActivityAdapter;
|
||||||
|
import com.tengshisoft.moduleactivity.beans.ActivityListBeans;
|
||||||
|
import com.tengshisoft.moduleactivity.net.ApiActivity;
|
||||||
|
import com.tengshisoft.mudulemain.R;
|
||||||
|
import com.tengshisoft.mudulemain.R2;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import butterknife.BindView;
|
||||||
|
import butterknife.ButterKnife;
|
||||||
|
import io.reactivex.Observer;
|
||||||
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||||
|
import io.reactivex.disposables.Disposable;
|
||||||
|
import io.reactivex.schedulers.Schedulers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 作者: adam
|
||||||
|
* 日期: 2020/4/29 - 4:26 PM
|
||||||
|
* 邮箱: itgaojian@163.com
|
||||||
|
* 描述: 搜索精彩活动
|
||||||
|
*/
|
||||||
|
public class SearchActivityFragment extends BaseFragment {
|
||||||
|
@BindView(R2.id.rlv_list)
|
||||||
|
RecyclerView mRlvContent;
|
||||||
|
private String mKeywords = "";
|
||||||
|
private List<ActivityListBeans.RowsBean> mDatas = new ArrayList<>();
|
||||||
|
private int mCurrentPage = 1;
|
||||||
|
private int mTotalPage = 0;
|
||||||
|
private ActivityAdapter mAdapter;
|
||||||
|
private FragmentActivity activity;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void setDataToView(View dataView) {
|
||||||
|
ButterKnife.bind(this, dataView);
|
||||||
|
setStateView(STATE_SUCCESS);
|
||||||
|
mKeywords = getArguments().getString("keywords");
|
||||||
|
mAdapter = new ActivityAdapter(mActivity, mDatas);
|
||||||
|
mRlvContent.setLayoutManager(new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false));
|
||||||
|
mRlvContent.setAdapter(mAdapter);
|
||||||
|
mAdapter.addOnItemClickListener(this::showDetail);
|
||||||
|
refreshView();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 显示详情
|
||||||
|
*
|
||||||
|
* @param rowsBean
|
||||||
|
*/
|
||||||
|
private void showDetail(ActivityListBeans.RowsBean rowsBean) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void refreshView() {
|
||||||
|
mDatas.clear();
|
||||||
|
mCurrentPage = 1;
|
||||||
|
setStateView(STATE_LOAD);
|
||||||
|
getList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void getList() {
|
||||||
|
RetrofitManager.getInstance()
|
||||||
|
.create(ApiActivity.class)
|
||||||
|
.getActivityList(mCurrentPage + "", mKeywords)
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(new Observer<ActivityListBeans>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(Disposable d) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(ActivityListBeans activityListBeans) {
|
||||||
|
if (mCurrentPage == 1) {
|
||||||
|
//第一次
|
||||||
|
if (activityListBeans.getRows() != null && activityListBeans.getRows().size() > 0) {
|
||||||
|
mDatas = activityListBeans.getRows();
|
||||||
|
mAdapter.setData(mDatas);
|
||||||
|
mTotalPage = activityListBeans.getTotal();
|
||||||
|
mSrlView.finishRefresh();
|
||||||
|
mSrlView.setNoMoreData(false);
|
||||||
|
setStateView(STATE_SUCCESS);
|
||||||
|
} else {
|
||||||
|
mSrlView.finishRefresh();
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
setStateView(STATE_EMPTY);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//多次
|
||||||
|
if (activityListBeans.getRows() != null && activityListBeans.getRows().size() > 0) {
|
||||||
|
mDatas.addAll(activityListBeans.getRows());
|
||||||
|
mAdapter.setData(mDatas);
|
||||||
|
mSrlView.finishLoadMore();
|
||||||
|
} else {
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable e) {
|
||||||
|
setStateView(STATE_ERROR);
|
||||||
|
ExceptionHandler.handleException(e);
|
||||||
|
mSrlView.finishRefresh();
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void loadMoreData() {
|
||||||
|
if (mDatas.size() < mTotalPage) {
|
||||||
|
++mCurrentPage;
|
||||||
|
getList();
|
||||||
|
mSrlView.setNoMoreData(false);
|
||||||
|
} else {
|
||||||
|
mSrlView.finishLoadMore();
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAttach(@NonNull Context context) {
|
||||||
|
super.onAttach(context);
|
||||||
|
activity = getActivity();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setKeywords(String keywords) {
|
||||||
|
mKeywords = keywords;
|
||||||
|
String params = String.format(activity.getResources().getString(R.string.big_data_str), "QUERY", mKeywords, "活动");
|
||||||
|
bigDataRead(params);
|
||||||
|
refreshView();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getContentViewId() {
|
||||||
|
return R.layout.fragment_list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,186 @@
|
|||||||
|
package com.tengshisoft.mudulemain.cultural.fragment;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.graphics.Color;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
import androidx.recyclerview.widget.GridLayoutManager;
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import com.alibaba.android.arouter.launcher.ARouter;
|
||||||
|
import com.ethanhua.skeleton.RecyclerViewSkeletonScreen;
|
||||||
|
import com.ethanhua.skeleton.Skeleton;
|
||||||
|
import com.sucstepsoft.cm_utils.constant.PathConfig;
|
||||||
|
import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
|
||||||
|
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
|
||||||
|
import com.sucstepsoft.cm_utils.core.widget.base.BaseFragment;
|
||||||
|
import com.sucstepsoft.cm_utils.core.widget.views.ItemSplitDivider;
|
||||||
|
import com.sucstepsoft.cm_utils.utils.ExceptionHandler;
|
||||||
|
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
|
||||||
|
import com.tengshisoft.moduleactivity.adapter.ActivityAdapter;
|
||||||
|
import com.tengshisoft.moduleactivity.beans.ActivityListBeans;
|
||||||
|
import com.tengshisoft.moduleactivity.net.ApiActivity;
|
||||||
|
import com.tengshisoft.modulecultural.adapter.LegacyMainAdapter;
|
||||||
|
import com.tengshisoft.modulecultural.bean.LegacyListBean;
|
||||||
|
import com.tengshisoft.modulecultural.net.CulturalApi;
|
||||||
|
import com.tengshisoft.mudulemain.R;
|
||||||
|
import com.tengshisoft.mudulemain.R2;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.adapter.NewsAdapter;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.adapter.NewsMenuAdapter;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.beans.NewsCommentCount;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.beans.NewsItemBean;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.beans.NewsTabBean;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.net.HomeApi;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import butterknife.BindView;
|
||||||
|
import butterknife.ButterKnife;
|
||||||
|
import butterknife.Unbinder;
|
||||||
|
import io.reactivex.Observer;
|
||||||
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||||
|
import io.reactivex.disposables.Disposable;
|
||||||
|
import io.reactivex.schedulers.Schedulers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 作者: adam
|
||||||
|
* 日期: 2020/4/29 - 4:26 PM
|
||||||
|
* 邮箱: itgaojian@163.com
|
||||||
|
* 描述: 搜索非遗
|
||||||
|
*/
|
||||||
|
public class SearchLegacyFragment extends BaseFragment {
|
||||||
|
@BindView(R2.id.rlv_list)
|
||||||
|
RecyclerView mRlvContent;
|
||||||
|
private String mKeywords = "";
|
||||||
|
private int mCurrentPage = 1;
|
||||||
|
private int mTotalPage = 0;
|
||||||
|
private List<LegacyListBean.RowsBean> mDatas = new ArrayList<>();
|
||||||
|
private LegacyMainAdapter mAdapter;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void setDataToView(View dataView) {
|
||||||
|
ButterKnife.bind(this, dataView);
|
||||||
|
setStateView(STATE_SUCCESS);
|
||||||
|
mKeywords = getArguments().getString("keywords");
|
||||||
|
mAdapter = new LegacyMainAdapter(mActivity, mDatas);
|
||||||
|
mRlvContent.setLayoutManager(new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false));
|
||||||
|
mRlvContent.setAdapter(mAdapter);
|
||||||
|
mAdapter.addOnItemClickListener(this::showDetail);
|
||||||
|
refreshView();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void showDetail(LegacyListBean.RowsBean rowsBean) {
|
||||||
|
ARouter.getInstance()
|
||||||
|
.build(PathConfig.PATH_MODULE_CULTURAL_ACTIVITY_LEGACY_DETAIL)
|
||||||
|
.withString("id", rowsBean.getIntangibleLibraryId())
|
||||||
|
.withString("title", rowsBean.getLibraryTitle())
|
||||||
|
.navigation();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void refreshView() {
|
||||||
|
mDatas.clear();
|
||||||
|
mCurrentPage = 1;
|
||||||
|
setStateView(STATE_LOAD);
|
||||||
|
getList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void getList() {
|
||||||
|
RetrofitManager.getInstance()
|
||||||
|
.create(CulturalApi.class)
|
||||||
|
.getLegacyList(mCurrentPage + "","10", mKeywords)
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(new Observer<LegacyListBean>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(Disposable d) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(LegacyListBean activityListBeans) {
|
||||||
|
if (mCurrentPage == 1) {
|
||||||
|
//第一次
|
||||||
|
if (activityListBeans.getRows() != null && activityListBeans.getRows().size() > 0) {
|
||||||
|
mDatas = activityListBeans.getRows();
|
||||||
|
mAdapter.setData(mDatas);
|
||||||
|
mTotalPage = activityListBeans.getTotal();
|
||||||
|
mSrlView.finishRefresh();
|
||||||
|
mSrlView.setNoMoreData(false);
|
||||||
|
setStateView(STATE_SUCCESS);
|
||||||
|
} else {
|
||||||
|
mSrlView.finishRefresh();
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
setStateView(STATE_EMPTY);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//多次
|
||||||
|
if (activityListBeans.getRows() != null && activityListBeans.getRows().size() > 0) {
|
||||||
|
mDatas.addAll(activityListBeans.getRows());
|
||||||
|
mAdapter.setData(mDatas);
|
||||||
|
mSrlView.finishLoadMore();
|
||||||
|
} else {
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable e) {
|
||||||
|
setStateView(STATE_ERROR);
|
||||||
|
ExceptionHandler.handleException(e);
|
||||||
|
mSrlView.finishRefresh();
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void loadMoreData() {
|
||||||
|
if (mDatas.size() < mTotalPage) {
|
||||||
|
++mCurrentPage;
|
||||||
|
getList();
|
||||||
|
mSrlView.setNoMoreData(false);
|
||||||
|
} else {
|
||||||
|
mSrlView.finishLoadMore();
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private FragmentActivity activity;
|
||||||
|
@Override
|
||||||
|
public void onAttach(@NonNull Context context) {
|
||||||
|
super.onAttach(context);
|
||||||
|
activity = getActivity();
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void setKeywords(String keywords) {
|
||||||
|
mKeywords = keywords;
|
||||||
|
String params = String.format(activity.getResources().getString(R.string.big_data_str), "QUERY", mKeywords, "非遗");
|
||||||
|
bigDataRead(params);
|
||||||
|
refreshView();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getContentViewId() {
|
||||||
|
return R.layout.fragment_list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,210 @@
|
|||||||
|
package com.tengshisoft.mudulemain.cultural.fragment;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.graphics.Color;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
import androidx.recyclerview.widget.GridLayoutManager;
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import com.alibaba.android.arouter.launcher.ARouter;
|
||||||
|
import com.ethanhua.skeleton.RecyclerViewSkeletonScreen;
|
||||||
|
import com.ethanhua.skeleton.Skeleton;
|
||||||
|
import com.sucstepsoft.cm_utils.constant.PathConfig;
|
||||||
|
import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
|
||||||
|
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
|
||||||
|
import com.sucstepsoft.cm_utils.core.widget.base.BaseFragment;
|
||||||
|
import com.sucstepsoft.cm_utils.core.widget.views.ItemSplitDivider;
|
||||||
|
import com.sucstepsoft.cm_utils.utils.ExceptionHandler;
|
||||||
|
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
|
||||||
|
import com.sucstepsoft.cm_utils.utils.toast.ToastUtils;
|
||||||
|
import com.tengshisoft.moduleactivity.adapter.ActivityAdapter;
|
||||||
|
import com.tengshisoft.moduleactivity.beans.ActivityListBeans;
|
||||||
|
import com.tengshisoft.moduleactivity.net.ApiActivity;
|
||||||
|
import com.tengshisoft.modulecultural.adapter.ShareLiveAdapter;
|
||||||
|
import com.tengshisoft.modulecultural.bean.CulturalLiveBean;
|
||||||
|
import com.tengshisoft.modulecultural.net.CulturalApi;
|
||||||
|
import com.tengshisoft.mudulemain.R;
|
||||||
|
import com.tengshisoft.mudulemain.R2;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.adapter.NewsAdapter;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.adapter.NewsMenuAdapter;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.beans.NewsCommentCount;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.beans.NewsItemBean;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.beans.NewsTabBean;
|
||||||
|
import com.tengshisoft.mudulemain.cultural.net.HomeApi;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import butterknife.BindView;
|
||||||
|
import butterknife.ButterKnife;
|
||||||
|
import butterknife.Unbinder;
|
||||||
|
import io.reactivex.Observer;
|
||||||
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||||
|
import io.reactivex.disposables.Disposable;
|
||||||
|
import io.reactivex.schedulers.Schedulers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 作者: adam
|
||||||
|
* 日期: 2020/4/29 - 4:26 PM
|
||||||
|
* 邮箱: itgaojian@163.com
|
||||||
|
* 描述: 收搜直播
|
||||||
|
*/
|
||||||
|
public class SearchLiveFragment extends BaseFragment {
|
||||||
|
@BindView(R2.id.rlv_list)
|
||||||
|
RecyclerView mRlvContent;
|
||||||
|
private String mKeywords = "";
|
||||||
|
private List<CulturalLiveBean.RowsBean> mDatas = new ArrayList<>();
|
||||||
|
private int mCurrentPage = 1;
|
||||||
|
private int mTotalPage = 0;
|
||||||
|
private ShareLiveAdapter mAdapter;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void setDataToView(View dataView) {
|
||||||
|
ButterKnife.bind(this, dataView);
|
||||||
|
setStateView(STATE_SUCCESS);
|
||||||
|
mKeywords = getArguments().getString("keywords");
|
||||||
|
mAdapter = new ShareLiveAdapter(mActivity, mDatas);
|
||||||
|
mRlvContent.setLayoutManager(new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false));
|
||||||
|
mRlvContent.setAdapter(mAdapter);
|
||||||
|
mAdapter.addOnItemClickListener(this::showLiveDetail);
|
||||||
|
refreshView();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 显示直播详情
|
||||||
|
*
|
||||||
|
* @param rowsBean
|
||||||
|
*/
|
||||||
|
private void showLiveDetail(CulturalLiveBean.RowsBean rowsBean) {
|
||||||
|
|
||||||
|
if ("0".equals(rowsBean.getLiveStatus())) {
|
||||||
|
//已经结束
|
||||||
|
ARouter.getInstance()
|
||||||
|
.build(PathConfig.PATH_MODULE_CULTURAL_LIVE_LOCKBACK)
|
||||||
|
.withString("id", rowsBean.getLivePlanId())
|
||||||
|
.navigation();
|
||||||
|
} else if ("1".equals(rowsBean.getLiveStatus())) {
|
||||||
|
//未开始
|
||||||
|
ARouter.getInstance()
|
||||||
|
.build(PathConfig.PATH_MODULE_CULTURAL_LIVE_DETAIL)
|
||||||
|
.withString("id", rowsBean.getLivePlanId())
|
||||||
|
.withString("type", "1")
|
||||||
|
.navigation();
|
||||||
|
} else if ("2".equals(rowsBean.getLiveStatus())) {
|
||||||
|
//直播中
|
||||||
|
ARouter.getInstance()
|
||||||
|
.build(PathConfig.PATH_MODULE_CULTURAL_LIVE_DETAIL)
|
||||||
|
.withString("id", rowsBean.getLivePlanId())
|
||||||
|
.withString("type", "2")
|
||||||
|
.navigation();
|
||||||
|
} else {
|
||||||
|
ToastUtils.showShort("数据错误");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void refreshView() {
|
||||||
|
mDatas.clear();
|
||||||
|
mCurrentPage = 1;
|
||||||
|
setStateView(STATE_LOAD);
|
||||||
|
getList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void getList() {
|
||||||
|
RetrofitManager.getInstance()
|
||||||
|
.create(CulturalApi.class)
|
||||||
|
.getLiveRecord(mCurrentPage + "", mKeywords)
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(new Observer<CulturalLiveBean>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(Disposable d) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(CulturalLiveBean activityListBeans) {
|
||||||
|
if (mCurrentPage == 1) {
|
||||||
|
//第一次
|
||||||
|
if (activityListBeans.getRows() != null && activityListBeans.getRows().size() > 0) {
|
||||||
|
mDatas = activityListBeans.getRows();
|
||||||
|
mAdapter.setData(mDatas);
|
||||||
|
mTotalPage = activityListBeans.getTotal();
|
||||||
|
mSrlView.finishRefresh();
|
||||||
|
mSrlView.setNoMoreData(false);
|
||||||
|
setStateView(STATE_SUCCESS);
|
||||||
|
} else {
|
||||||
|
mSrlView.finishRefresh();
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
setStateView(STATE_EMPTY);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//多次
|
||||||
|
if (activityListBeans.getRows() != null && activityListBeans.getRows().size() > 0) {
|
||||||
|
mDatas.addAll(activityListBeans.getRows());
|
||||||
|
mAdapter.setData(mDatas);
|
||||||
|
mSrlView.finishLoadMore();
|
||||||
|
} else {
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable e) {
|
||||||
|
setStateView(STATE_ERROR);
|
||||||
|
ExceptionHandler.handleException(e);
|
||||||
|
mSrlView.finishRefresh();
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void loadMoreData() {
|
||||||
|
if (mDatas.size() < mTotalPage) {
|
||||||
|
++mCurrentPage;
|
||||||
|
getList();
|
||||||
|
mSrlView.setNoMoreData(false);
|
||||||
|
} else {
|
||||||
|
mSrlView.finishLoadMore();
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private FragmentActivity activity;
|
||||||
|
@Override
|
||||||
|
public void onAttach(@NonNull Context context) {
|
||||||
|
super.onAttach(context);
|
||||||
|
activity = getActivity();
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void setKeywords(String keywords) {
|
||||||
|
mKeywords = keywords;
|
||||||
|
String params = String.format(activity.getResources().getString(R.string.big_data_str), "QUERY", mKeywords, "直播");
|
||||||
|
bigDataRead(params);
|
||||||
|
refreshView();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getContentViewId() {
|
||||||
|
return R.layout.fragment_list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,173 @@
|
|||||||
|
package com.tengshisoft.mudulemain.cultural.fragment;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import com.alibaba.android.arouter.launcher.ARouter;
|
||||||
|
import com.sucstepsoft.cm_utils.constant.PathConfig;
|
||||||
|
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
|
||||||
|
import com.sucstepsoft.cm_utils.core.widget.base.BaseFragment;
|
||||||
|
import com.sucstepsoft.cm_utils.utils.ExceptionHandler;
|
||||||
|
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
|
||||||
|
import com.tengshisoft.moduleplace.adapter.PlaceListAdapter;
|
||||||
|
import com.tengshisoft.moduleplace.beans.PlaceListBean;
|
||||||
|
import com.tengshisoft.moduleplace.net.ApiPlace;
|
||||||
|
import com.tengshisoft.mudulemain.R;
|
||||||
|
import com.tengshisoft.mudulemain.R2;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import butterknife.BindView;
|
||||||
|
import butterknife.ButterKnife;
|
||||||
|
import io.reactivex.Observer;
|
||||||
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||||
|
import io.reactivex.disposables.Disposable;
|
||||||
|
import io.reactivex.schedulers.Schedulers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 作者: adam
|
||||||
|
* 日期: 2020/4/29 - 4:26 PM
|
||||||
|
* 邮箱: itgaojian@163.com
|
||||||
|
* 描述: 搜索场馆
|
||||||
|
*/
|
||||||
|
public class SearchPlaceFragment extends BaseFragment {
|
||||||
|
@BindView(R2.id.rlv_list)
|
||||||
|
RecyclerView mRlvContent;
|
||||||
|
private String mKeywords = "";
|
||||||
|
private List<PlaceListBean.RowsBean> mDatas = new ArrayList<>();
|
||||||
|
private int mCurrentPage = 1;
|
||||||
|
private int mTotalPage = 0;
|
||||||
|
private PlaceListAdapter mAdapter;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void setDataToView(View dataView) {
|
||||||
|
ButterKnife.bind(this, dataView);
|
||||||
|
setStateView(STATE_SUCCESS);
|
||||||
|
mKeywords = getArguments().getString("keywords");
|
||||||
|
mAdapter = new PlaceListAdapter(mActivity, mDatas);
|
||||||
|
mRlvContent.setLayoutManager(new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false));
|
||||||
|
mRlvContent.setAdapter(mAdapter);
|
||||||
|
mAdapter.addOnItemClickListener(this::showDetail);
|
||||||
|
refreshView();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 显示详情
|
||||||
|
*
|
||||||
|
* @param placeListBean
|
||||||
|
*/
|
||||||
|
private void showDetail(PlaceListBean.RowsBean placeListBean) {
|
||||||
|
ARouter.getInstance()
|
||||||
|
.build(PathConfig.PATH_MODULE_PLACE_ACTIVITY_PLACEDETAIL)
|
||||||
|
.withString("id", placeListBean.getVenuesInfoId())
|
||||||
|
.withString("title", placeListBean.getVenueName())
|
||||||
|
.navigation();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void refreshView() {
|
||||||
|
mDatas.clear();
|
||||||
|
mCurrentPage = 1;
|
||||||
|
setStateView(STATE_LOAD);
|
||||||
|
getList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void getList() {
|
||||||
|
RetrofitManager.getInstance()
|
||||||
|
.create(ApiPlace.class)
|
||||||
|
.getPlaceByKey(UserLgUtils.getLocationLat(), UserLgUtils.getLocationLng(), mCurrentPage + "", "10", mKeywords)
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(new Observer<PlaceListBean>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(Disposable d) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(PlaceListBean activityListBeans) {
|
||||||
|
if (mCurrentPage == 1) {
|
||||||
|
//第一次
|
||||||
|
if (activityListBeans.getRows() != null && activityListBeans.getRows().size() > 0) {
|
||||||
|
mDatas = activityListBeans.getRows();
|
||||||
|
mAdapter.setData(mDatas);
|
||||||
|
mTotalPage = activityListBeans.getTotal();
|
||||||
|
mSrlView.finishRefresh();
|
||||||
|
mSrlView.setNoMoreData(false);
|
||||||
|
setStateView(STATE_SUCCESS);
|
||||||
|
} else {
|
||||||
|
mSrlView.finishRefresh();
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
setStateView(STATE_EMPTY);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//多次
|
||||||
|
if (activityListBeans.getRows() != null && activityListBeans.getRows().size() > 0) {
|
||||||
|
mDatas.addAll(activityListBeans.getRows());
|
||||||
|
mAdapter.setData(mDatas);
|
||||||
|
mSrlView.finishLoadMore();
|
||||||
|
} else {
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable e) {
|
||||||
|
setStateView(STATE_ERROR);
|
||||||
|
ExceptionHandler.handleException(e);
|
||||||
|
mSrlView.finishRefresh();
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void loadMoreData() {
|
||||||
|
if (mDatas.size() < mTotalPage) {
|
||||||
|
++mCurrentPage;
|
||||||
|
getList();
|
||||||
|
mSrlView.setNoMoreData(false);
|
||||||
|
} else {
|
||||||
|
mSrlView.finishLoadMore();
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private FragmentActivity activity;
|
||||||
|
@Override
|
||||||
|
public void onAttach(@NonNull Context context) {
|
||||||
|
super.onAttach(context);
|
||||||
|
activity = getActivity();
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void setKeywords(String keywords) {
|
||||||
|
mKeywords = keywords;
|
||||||
|
String params = String.format(activity.getResources().getString(R.string.big_data_str), "QUERY", mKeywords, "场馆");
|
||||||
|
bigDataRead(params);
|
||||||
|
refreshView();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getContentViewId() {
|
||||||
|
return R.layout.fragment_list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,171 @@
|
|||||||
|
package com.tengshisoft.mudulemain.cultural.fragment;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import com.alibaba.android.arouter.launcher.ARouter;
|
||||||
|
import com.sucstepsoft.cm_utils.constant.PathConfig;
|
||||||
|
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
|
||||||
|
import com.sucstepsoft.cm_utils.core.widget.base.BaseFragment;
|
||||||
|
import com.sucstepsoft.cm_utils.utils.ExceptionHandler;
|
||||||
|
import com.tengshisoft.modulecultural.bean.VolunteerActivityAdapter;
|
||||||
|
import com.tengshisoft.modulecultural.bean.VolunteerActivitybean;
|
||||||
|
import com.tengshisoft.modulecultural.net.CulturalApi;
|
||||||
|
import com.tengshisoft.mudulemain.R;
|
||||||
|
import com.tengshisoft.mudulemain.R2;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import butterknife.BindView;
|
||||||
|
import butterknife.ButterKnife;
|
||||||
|
import io.reactivex.Observer;
|
||||||
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||||
|
import io.reactivex.disposables.Disposable;
|
||||||
|
import io.reactivex.schedulers.Schedulers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 作者: adam
|
||||||
|
* 日期: 2020/4/29 - 4:26 PM
|
||||||
|
* 邮箱: itgaojian@163.com
|
||||||
|
* 描述: 搜索志愿者活动
|
||||||
|
*/
|
||||||
|
public class SearchVolumentActivityFragment extends BaseFragment {
|
||||||
|
@BindView(R2.id.rlv_list)
|
||||||
|
RecyclerView mRlvContent;
|
||||||
|
private String mKeywords = "";
|
||||||
|
private List<VolunteerActivitybean.RowsBean> mDatas = new ArrayList<>();
|
||||||
|
private int mCurrentPage = 1;
|
||||||
|
private int mTotalPage = 0;
|
||||||
|
private VolunteerActivityAdapter mAdapter;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void setDataToView(View dataView) {
|
||||||
|
ButterKnife.bind(this, dataView);
|
||||||
|
setStateView(STATE_SUCCESS);
|
||||||
|
mKeywords = getArguments().getString("keywords");
|
||||||
|
mAdapter = new VolunteerActivityAdapter(mActivity, mDatas);
|
||||||
|
mRlvContent.setLayoutManager(new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false));
|
||||||
|
mRlvContent.setAdapter(mAdapter);
|
||||||
|
mAdapter.addOnItemClickListener(this::showDetail);
|
||||||
|
refreshView();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 显示详情
|
||||||
|
*
|
||||||
|
* @param rowsBean
|
||||||
|
*/
|
||||||
|
private void showDetail(VolunteerActivitybean.RowsBean rowsBean) {
|
||||||
|
ARouter.getInstance()
|
||||||
|
.build(PathConfig.PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_DETAIL)
|
||||||
|
.withString("id", rowsBean.getVolunteerId())
|
||||||
|
.navigation();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void refreshView() {
|
||||||
|
mDatas.clear();
|
||||||
|
mCurrentPage = 1;
|
||||||
|
setStateView(STATE_LOAD);
|
||||||
|
getList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void getList() {
|
||||||
|
RetrofitManager.getInstance()
|
||||||
|
.create(CulturalApi.class)
|
||||||
|
.getVolunteerActivityList("10", mCurrentPage + "", mKeywords)
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(new Observer<VolunteerActivitybean>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(Disposable d) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(VolunteerActivitybean activityListBeans) {
|
||||||
|
if (mCurrentPage == 1) {
|
||||||
|
//第一次
|
||||||
|
if (activityListBeans.getRows() != null && activityListBeans.getRows().size() > 0) {
|
||||||
|
mDatas = activityListBeans.getRows();
|
||||||
|
mAdapter.setData(mDatas);
|
||||||
|
mTotalPage = activityListBeans.getTotal();
|
||||||
|
mSrlView.finishRefresh();
|
||||||
|
mSrlView.setNoMoreData(false);
|
||||||
|
setStateView(STATE_SUCCESS);
|
||||||
|
} else {
|
||||||
|
mSrlView.finishRefresh();
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
setStateView(STATE_EMPTY);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//多次
|
||||||
|
if (activityListBeans.getRows() != null && activityListBeans.getRows().size() > 0) {
|
||||||
|
mDatas.addAll(activityListBeans.getRows());
|
||||||
|
mAdapter.setData(mDatas);
|
||||||
|
mSrlView.finishLoadMore();
|
||||||
|
} else {
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable e) {
|
||||||
|
setStateView(STATE_ERROR);
|
||||||
|
ExceptionHandler.handleException(e);
|
||||||
|
mSrlView.finishRefresh();
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void loadMoreData() {
|
||||||
|
if (mDatas.size() < mTotalPage) {
|
||||||
|
++mCurrentPage;
|
||||||
|
getList();
|
||||||
|
mSrlView.setNoMoreData(false);
|
||||||
|
} else {
|
||||||
|
mSrlView.finishLoadMore();
|
||||||
|
mSrlView.setNoMoreData(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private FragmentActivity activity;
|
||||||
|
@Override
|
||||||
|
public void onAttach(@NonNull Context context) {
|
||||||
|
super.onAttach(context);
|
||||||
|
activity = getActivity();
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void setKeywords(String keywords) {
|
||||||
|
mKeywords = keywords;
|
||||||
|
String params = String.format(activity.getResources().getString(R.string.big_data_str), "QUERY", mKeywords, "志愿");
|
||||||
|
bigDataRead(params);
|
||||||
|
refreshView();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getContentViewId() {
|
||||||
|
return R.layout.fragment_list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
46
modulemain/src/main/res/layout/activity_common_search.xml
Normal file
46
modulemain/src/main/res/layout/activity_common_search.xml
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:theme="@style/Theme.AppCompat"
|
||||||
|
tools:context=".cultural.activitys.news.NewsMainActivity">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/ll_content"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<com.google.android.material.tabs.TabLayout
|
||||||
|
android:id="@+id/xtl_search_type"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/white"
|
||||||
|
app:tabGravity="fill"
|
||||||
|
app:tabIndicatorColor="@color/white"
|
||||||
|
app:tabMode="scrollable"
|
||||||
|
app:tabSelectedTextColor="@color/red"
|
||||||
|
app:tabTextAppearance="@style/TabLayoutTextStyle"
|
||||||
|
app:tabTextColor="@color/gray_text" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="2dp"
|
||||||
|
android:background="@color/gray_line" />
|
||||||
|
|
||||||
|
<androidx.viewpager2.widget.ViewPager2
|
||||||
|
android:id="@+id/vp_content"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<com.sucstepsoft.cm_utils.core.widget.views.CustomStateView
|
||||||
|
android:id="@+id/cs_state"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_centerInParent="true" />
|
||||||
|
</RelativeLayout>
|
15
modulemain/src/main/res/layout/fragment_list.xml
Normal file
15
modulemain/src/main/res/layout/fragment_list.xml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<androidx.core.widget.NestedScrollView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/rlv_list"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent" />
|
||||||
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
</RelativeLayout>
|
@ -49,7 +49,15 @@ public interface ApiPlace {
|
|||||||
@GET("app/venuesinfo/listpagevenuesinforelease")
|
@GET("app/venuesinfo/listpagevenuesinforelease")
|
||||||
Observable<PlaceListBean> getPlaceByDictionId(@Query("latitude") String lat, @Query("longitude") String lng, @Query("venueType") String dId, @Query("page") String page,
|
Observable<PlaceListBean> getPlaceByDictionId(@Query("latitude") String lat, @Query("longitude") String lng, @Query("venueType") String dId, @Query("page") String page,
|
||||||
@Query("rows") String rows);
|
@Query("rows") String rows);
|
||||||
|
/**
|
||||||
|
* 获取场馆列表-搜索
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Headers({"base_url_name:place", "Content-Type:application/json", "Accept:application/json", "need_area:true"})
|
||||||
|
@GET("app/venuesinfo/listpagevenuesinforelease")
|
||||||
|
Observable<PlaceListBean> getPlaceByKey(@Query("latitude") String lat, @Query("longitude") String lng, @Query("page") String page,
|
||||||
|
@Query("rows") String rows,@Query("keywords") String key);
|
||||||
/**
|
/**
|
||||||
* 获取场馆类型-全部
|
* 获取场馆类型-全部
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user