大数据搜索关键词

This commit is contained in:
itgaojian 2023-03-13 14:35:29 +08:00
parent 6250712cb5
commit b617317536
19 changed files with 1367 additions and 14 deletions

View File

@ -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_DETAIL_INTERFACE = "/modulemain/activity/newsInterface";//新闻详情页面-接口方式
public static final String PATH_MODULE_MAIN_NEWS_SEARCH = "/modulemain/activity/newsSearch";//新闻收搜
public static final String PATH_MODULE_MAIN_COMMON_SEARCH = "/modulemain/activity/searchCommon";//公共搜索
//======================Map==================================================
public static final String PATH_MODULE_MAP_NAVIGATION = "/modulemap/activity/navigation";//地图
public static final String PATH_MODULE_MAP_SHOW_ICON = "/modulemap/activity/showicon";//文化地图

View File

@ -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) {
}
}

View File

@ -83,13 +83,14 @@ public abstract class BaseActivity extends AppCompatActivity {
protected LinearLayout mLlImg;//右边头像加图标
protected ProgressBar mPbLoading;
protected ImageView mIvEmptyData;
protected RelativeLayout mRlTitleBar;
protected TextView mTvErrorHint;
protected ImageView mIvUserIcon;
protected RelativeLayout mRlBack;
protected RelativeLayout mRlNotify;
protected ImageView mIvNotify;
protected TextView mTvNotify;
protected RelativeLayout mRlTitleBar;
protected RelativeLayout mRlTitleBar1;
private RelativeLayout mRlTrTitleBar;
protected Button mBtnTrBack;
@ -98,12 +99,12 @@ public abstract class BaseActivity extends AppCompatActivity {
protected TypeFaceTextView mTvAppBack;
protected LinearLayout mLlBaseSearch;
protected EditText mEtBaseSearch;
private LinearLayout mLlBaseTitle;
private LinearLayout mLlSearchBar;
private Button mBtnSearchBack;
private EditText mEtSearchBar;
private ImageView mIvSearchClear;
private ImageView mIvSearchBtn;
protected LinearLayout mLlBaseTitle;
protected LinearLayout mLlSearchBar;
protected Button mBtnSearchBack;
protected EditText mEtSearchBar;
protected ImageView mIvSearchClear;
protected ImageView mIvSearchBtn;
// protected BoomMenuButton mBbMenu;
@Override
@ -288,6 +289,7 @@ public abstract class BaseActivity extends AppCompatActivity {
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);
//搜索清除

View File

@ -18,8 +18,16 @@ import androidx.fragment.app.Fragment;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
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 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 static final int STATE_LOAD = 1234;//加载中
public static final int STATE_ERROR = 1235;//加载失败
@ -86,6 +94,39 @@ public abstract class BaseFragment extends Fragment {
mActivity = getActivity();
}
public void setKeywords(String keywords) {
}
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() {
}
});
}
/**
* 选择加载状态
*

View File

@ -16,8 +16,8 @@
android:id="@+id/ll_base_search_bar"
android:layout_width="match_parent"
android:layout_height="50dp"
android:visibility="gone"
android:gravity="center_vertical">
android:gravity="center_vertical"
android:visibility="gone">
<Button
android:id="@+id/btn_search_back"
@ -52,14 +52,17 @@
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:visibility="invisible"
android:src="@drawable/ic_clear_edit" />
android:src="@drawable/ic_clear_edit"
android:visibility="invisible" />
</LinearLayout>
<ImageView

View File

@ -78,9 +78,9 @@ public class ActivityMainActivity extends BaseActivity {
@Override
public void initData() {
mBind = ButterKnife.bind(this);
// mTvBaseTitle.setText("精彩活动");
mTvBaseTitle.setText("精彩活动");
mRlTitleBar1.setVisibility(View.GONE);
mRlTitleBar.setVisibility(View.GONE);
mRlTitleBar.setVisibility(View.VISIBLE);
refreshView(STATE_LOAD_LOADING);
mTypeface = Typeface.createFromAsset(mActivity.getAssets(), "fonts/zhangti.TTF");

View File

@ -46,6 +46,17 @@ public interface ApiActivity {
@GET("app/activitylibrary/listpageactivitylibraryfornetrelease")
Observable<ActivityListBeans> getActivityListByType(@Query("activityType") String type, @Query("page") String page);
/**
* 获取活动列表-全部
*
* @param page
* @return
*/
@Headers({"base_url_name:activity", "Content-Type:application/json", "Accept:application/json", "need_area:true"})
// @GET("app/activitylibrary/listpageactivitylibraryrelease") 原接口
@GET("app/activitylibrary/listpageactivitylibraryfornetrelease")
Observable<ActivityListBeans> getActivityList(@Query("page") String page, @Query("keywords") String key);
/**
* 获取我报名的活动
* GET /app/activityuserapply/myjoinactivity

View File

@ -56,6 +56,13 @@ public interface CulturalApi {
@GET("app/intangiblelibrary/listpageintangiblelibraryrelease")
Observable<LegacyListBean> getLegacyListByType(@Query("page") String page, @Query("rows") String rows, @Query("libraryDirectoriesId") String id);
/**
* 获取非遗列表-搜索
*/
@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);
/**
* 获取非遗名录
* GET /app/intangibledirectories/listztreeintangibledirectoriesrelease
@ -237,6 +244,14 @@ public interface CulturalApi {
@GET("app/volunteerservice/listpagevolunteerservicerelease")
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
@ -334,6 +349,13 @@ public interface CulturalApi {
@GET("app/liveplan/listpageliveplanrelease")
Observable<CulturalLiveBean> getLiveRecord(@Query("page") String page);
/**
* 直播回放列表-搜索
*/
@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

View File

@ -33,6 +33,12 @@
<application
android:maxAspectRatio="2.4"
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
android:name=".cultural.activitys.news.NewsSearchActivity"
android:configChanges="keyboardHidden|orientation|screenSize|screenLayout"

View File

@ -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.cv_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(5);
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();
}
}
}

View File

@ -19,6 +19,7 @@ import com.baidu.location.BDAbstractLocationListener;
import com.baidu.location.BDLocation;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.bumptech.glide.Glide;
import com.gyf.immersionbar.ImmersionBar;
import com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx;
import com.sucstepsoft.cm_utils.constant.PathConfig;
@ -110,7 +111,13 @@ public class MainActivity extends BaseActivity {
mLlTitleBar.setVisibility(View.VISIBLE);
mRlTitleBar.setVisibility(View.VISIBLE);
mRlTitleBar1.setVisibility(View.VISIBLE);
mIvInto.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());
mVpContent.setCurrentItem(0, false);
mTvBaseTitle.setText(UserLgUtils.getAppName());
mTvAppBack.setVisibility(View.VISIBLE);
@ -192,6 +199,14 @@ public class MainActivity extends BaseActivity {
mTvAppBack.setOnClickListener(v -> ARouter.getInstance()
.build(PathConfig.PATH_MODULE_MAIN_CHOOSE_CITY)
.navigation(mActivity, 1234));
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());
doCheckPermission();
checkAppVersion();
getUserInfo();

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -0,0 +1,47 @@
<?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/cv_state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
</RelativeLayout>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
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:ignore="MissingDefaultResource">
<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>

View File

@ -50,6 +50,16 @@ public interface ApiPlace {
Observable<PlaceListBean> getPlaceByDictionId(@Query("latitude") String lat, @Query("longitude") String lng, @Query("venueType") String dId, @Query("page") String page,
@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);
/**
* 获取场馆类型-全部
*