大数据接口、新闻搜索
This commit is contained in:
parent
530c9ae01c
commit
bf8a7502f4
@ -111,6 +111,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";//新闻收搜
|
||||
//======================Map==================================================
|
||||
public static final String PATH_MODULE_MAP_NAVIGATION = "/modulemap/activity/navigation";//地图
|
||||
public static final String PATH_MODULE_MAP_SHOW_ICON = "/modulemap/activity/showicon";//文化地图
|
||||
|
@ -9,11 +9,11 @@ import com.sucstepsoft.cm_utils.constant.PathConfig;
|
||||
*/
|
||||
public class BaseUrlApi {
|
||||
|
||||
// public static final String IP_URL = "http://v3.xzszwhy.cn/";/* 测试IP */
|
||||
public static final String IP_URL = "http://192.168.0.120:8081/";/* 测试IP */
|
||||
public static final String IP_URL = "http://v3.xzszwhy.cn/";/* 测试IP */
|
||||
// public static final String IP_URL = "http://192.168.0.120:8081/";/* 测试IP */
|
||||
|
||||
public static final String BASE_SYSTEM_IP = "http://192.168.0.120:8081/xzszwhy/";/*测试IP*/
|
||||
// public static final String BASE_SYSTEM_IP = "http://v3.xzszwhy.cn/xzszwhy/";/*正式IP*/
|
||||
// public static final String BASE_SYSTEM_IP = "http://192.168.0.120:8081/xzszwhy/";/*测试IP*/
|
||||
public static final String BASE_SYSTEM_IP = "http://v3.xzszwhy.cn/xzszwhy/";/*正式IP*/
|
||||
|
||||
public static final String PROJECT_NAME = "app/";
|
||||
public static final String BASE_URL = BASE_SYSTEM_IP;
|
||||
@ -55,12 +55,12 @@ public class BaseUrlApi {
|
||||
public static final String BASE_VOLUNTEER_IP = BASE_SYSTEM_IP;/* 志愿者 */
|
||||
public static final String BASE_LIVE_IP = IP_URL + "live/";
|
||||
|
||||
public static final String BASE_BIG_DATA = "http://v3.xzszwhy.cn/" + "module/";//大数据接口
|
||||
public static final String BASE_BIG_DATA = IP_URL + "module/";//大数据接口
|
||||
public static final String BASE_LIVE_URL = BASE_SYSTEM_IP;//直播回放视频url
|
||||
public static final String BASE_CULTURAL_SHARE = BASE_SYSTEM_IP;/* 文化分享 */
|
||||
public static final String BASE_LEGACY_IP = BASE_SYSTEM_IP;//非遗数据库
|
||||
public static final String BASE_NEWS_IP = BASE_SYSTEM_IP;//新闻
|
||||
public static final String BASE_SHOP_IP = IP_URL + "xzshop";//商城
|
||||
public static final String BASE_SHOP_IP = IP_URL + "xzshop/";//商城
|
||||
// public static final String BASE_PLACE_IP = TEMP_IP + "venuebooking/";/* 场馆 */
|
||||
public static final String BASE_PLACE_IMG_IP = BASE_PLACE_IP + "route/file/download/true/";/* 场馆 */
|
||||
public static final String BASE_CULTURAL_IP = BASE_SYSTEM_IP + "culturalactivity/";/* 文化URL */
|
||||
@ -69,8 +69,8 @@ public class BaseUrlApi {
|
||||
// public static final String BASE_NEWS_DETAIL = "http://192.168.0.104/";//新闻
|
||||
|
||||
|
||||
// public static final String BASE_NEWS_DETAIL = IP_URL;//新闻
|
||||
public static final String BASE_NEWS_DETAIL = "http://192.168.0.120:80/";//新闻
|
||||
public static final String BASE_NEWS_DETAIL = IP_URL;//新闻
|
||||
// public static final String BASE_NEWS_DETAIL = "http://192.168.0.120:80/";//新闻
|
||||
// public static final String BASE_IMG_URL = BASE_IP + "route/file/download/true/";
|
||||
// GET /app/appversion/downloadapp/{appVersionId}
|
||||
public static final String APP_DOWNLOAD_URL = BASE_URL + "app/appversion/download/" + PathConfig.APP_VERSION_ID;
|
||||
|
@ -34,6 +34,7 @@ import retrofit2.http.PUT;
|
||||
import retrofit2.http.Part;
|
||||
import retrofit2.http.PartMap;
|
||||
import retrofit2.http.Path;
|
||||
import retrofit2.http.Query;
|
||||
import retrofit2.http.Url;
|
||||
|
||||
/**
|
||||
@ -312,4 +313,15 @@ public interface BaseApiService {
|
||||
@Headers({"Content-Type:application/json", "Accept:application/json"})
|
||||
@GET("app/area/getrelease/{areaId}")
|
||||
Observable<AreaBean> getAreaDetail(@Path("areaId") String pId);
|
||||
|
||||
/**
|
||||
* 大数据-浏览量
|
||||
* 详情浏览量 (网页|安卓|小程序)[a-zA-Z0-9-]{36}(新闻|活动|非遗|场馆|直播|志愿) 我后台正则是这样的
|
||||
* 搜索词 安卓QUERY要搜索的内容END
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Headers({"base_url_name:bigdata", "Content-Type:application/json", "Accept:application/json"})
|
||||
@GET("app/contentcensusrelease/log")
|
||||
Observable<BaseSuccessBean> bigDataRead(@Query("requestUrl") String id);
|
||||
}
|
||||
|
@ -36,7 +36,10 @@ import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.sucstepsoft.cm_utils.R;
|
||||
import com.sucstepsoft.cm_utils.constant.PathConfig;
|
||||
import com.sucstepsoft.cm_utils.core.beans.BaseSuccessBean;
|
||||
import com.sucstepsoft.cm_utils.core.beans.UserLoginBean;
|
||||
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.views.BaseAreaListDialog;
|
||||
import com.sucstepsoft.cm_utils.core.widget.views.DoubleAndOneClicklistener;
|
||||
import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView;
|
||||
@ -51,6 +54,11 @@ import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import io.reactivex.Observer;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
|
||||
/**
|
||||
* 作者 : Adam on 2018/10/15.
|
||||
* 邮箱 : itgaojian@163.com
|
||||
@ -142,6 +150,40 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 大数据-详情浏览
|
||||
*
|
||||
* @param params
|
||||
*/
|
||||
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() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置只能输入汉字.字母.数字
|
||||
*
|
||||
|
BIN
cm_utils/src/main/res/drawable-xhdpi/ic_search_icon_white.png
Normal file
BIN
cm_utils/src/main/res/drawable-xhdpi/ic_search_icon_white.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 921 B |
27
cm_utils/src/main/res/drawable/shape_tab_bg_no_ra.xml
Executable file
27
cm_utils/src/main/res/drawable/shape_tab_bg_no_ra.xml
Executable file
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<padding
|
||||
android:bottom="1dp"
|
||||
/>
|
||||
<solid android:color="#40CCCCCC" />
|
||||
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<padding
|
||||
android:bottom="1dp"
|
||||
/>
|
||||
<solid android:color="#30CCCCCC" />
|
||||
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<shape>
|
||||
<solid android:color="#FFFFFF" />
|
||||
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
@ -164,8 +164,8 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_app_into"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
android:src="@drawable/ic_map_icon" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
52
cm_utils/src/main/res/layout/layout_search.xml
Normal file
52
cm_utils/src/main/res/layout/layout_search.xml
Normal file
@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:padding="8dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_search_back"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_back_black" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/shp_rectangle_gray"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingLeft="8dp">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_search_icon" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_search_content"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@null"
|
||||
android:hint="请输入关键字"
|
||||
android:imeOptions="actionSearch"
|
||||
android:padding="5dp"
|
||||
android:singleLine="true"
|
||||
android:textSize="@dimen/text_14" />
|
||||
</LinearLayout>
|
||||
|
||||
<com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView
|
||||
android:id="@+id/tv_search_btn"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:text="搜索" />
|
||||
</LinearLayout>
|
@ -30,4 +30,5 @@
|
||||
<string name="android_auto_update_download_progress">正在下载:%1$d%%</string>
|
||||
|
||||
<string name="android_auto_update_dialog_checking">正在检查版本</string>
|
||||
<string name="big_data_str">安卓%1$s%2$s%3$s</string>
|
||||
</resources>
|
||||
|
@ -153,6 +153,9 @@ public class ActivityDetailActivity extends BaseActivity {
|
||||
} else {
|
||||
getActivityDetailByIdToken(mId);
|
||||
}
|
||||
String read = String.format(getResources().getString(R.string.big_data_str), "", mId, "活动");
|
||||
LogUtils.e(read);
|
||||
bigDataRead(read);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -89,6 +89,9 @@ public class CulturalLiveDetailActivity extends BaseActivity {
|
||||
getLiveDetail(id);
|
||||
});
|
||||
mSrlContent.setEnableLoadMore(false);
|
||||
String read = String.format(getResources().getString(R.string.big_data_str), "", id, "直播");
|
||||
LogUtils.e(read);
|
||||
bigDataRead(read);
|
||||
}
|
||||
|
||||
private void getLiveDetail(String id) {
|
||||
|
@ -1,7 +1,6 @@
|
||||
package com.tengshisoft.modulecultural.activitys;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.os.Bundle;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
@ -19,17 +18,11 @@ import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
|
||||
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
|
||||
import com.sucstepsoft.cm_utils.core.widget.base.GlideRoundTransform;
|
||||
import com.sucstepsoft.cm_utils.utils.ExceptionHandler;
|
||||
import com.sucstepsoft.cm_utils.utils.LogUtils;
|
||||
import com.tengshisoft.modulecultural.R;
|
||||
import com.tengshisoft.modulecultural.R2;
|
||||
import com.tengshisoft.modulecultural.bean.CulturalLiveDetailBean;
|
||||
import com.tengshisoft.modulecultural.net.CulturalApi;
|
||||
import com.tengshisoft.moduleijkplayer.controller.CompleteView;
|
||||
import com.tengshisoft.moduleijkplayer.controller.ErrorView;
|
||||
import com.tengshisoft.moduleijkplayer.controller.GestureView;
|
||||
import com.tengshisoft.moduleijkplayer.controller.LiveControlView;
|
||||
import com.tengshisoft.moduleijkplayer.controller.PrepareView;
|
||||
import com.tengshisoft.moduleijkplayer.controller.StandardVideoController;
|
||||
import com.tengshisoft.moduleijkplayer.controller.TitleView;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
@ -73,6 +66,9 @@ public class CulturalLiveLookBackActivity extends BaseActivity {
|
||||
mSrlContent.setEnableRefresh(false);
|
||||
mSrlContent.setEnableLoadMore(false);
|
||||
getLiveDetail(id);
|
||||
String read = String.format(getResources().getString(R.string.big_data_str), "", id, "直播");
|
||||
LogUtils.e(read);
|
||||
bigDataRead(read);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -109,6 +109,9 @@ public class LegacyDetailActivity extends BaseActivity {
|
||||
.placeholder(R.drawable.ic_img_default_banner)
|
||||
.transform(roundedCornersTransform);
|
||||
getLegacyDetail(id);
|
||||
String read = String.format(getResources().getString(R.string.big_data_str), "", id, "非遗");
|
||||
LogUtils.e(read);
|
||||
bigDataRead(read);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -27,6 +27,7 @@ import com.sucstepsoft.cm_utils.core.widget.base.BaseBannerImageAdapter;
|
||||
import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView;
|
||||
import com.sucstepsoft.cm_utils.utils.ConvertUtils;
|
||||
import com.sucstepsoft.cm_utils.utils.ExceptionHandler;
|
||||
import com.sucstepsoft.cm_utils.utils.LogUtils;
|
||||
import com.sucstepsoft.cm_utils.utils.UIUtil;
|
||||
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
|
||||
import com.sucstepsoft.cm_utils.utils.toast.ToastUtils;
|
||||
@ -154,6 +155,9 @@ public class VolunteerActivityDetailActivity extends BaseActivity {
|
||||
.navigation();
|
||||
}
|
||||
});
|
||||
String read = String.format(getResources().getString(R.string.big_data_str), "", mId, "志愿");
|
||||
LogUtils.e(read);
|
||||
bigDataRead(read);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -33,6 +33,12 @@
|
||||
<application
|
||||
android:maxAspectRatio="2.4"
|
||||
android:resizeableActivity="true">
|
||||
<activity
|
||||
android:name=".cultural.activitys.news.NewsSearchActivity"
|
||||
android:configChanges="keyboardHidden|orientation|screenSize|screenLayout"
|
||||
android:exported="false"
|
||||
android:launchMode="singleTop"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".cultural.activitys.news.NewsLocalDetailActivity"
|
||||
android:configChanges="keyboardHidden|orientation|screenSize|screenLayout"
|
||||
|
@ -39,7 +39,6 @@ import com.google.gson.Gson;
|
||||
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
|
||||
import com.sucstepsoft.cm_utils.constant.PathConfig;
|
||||
import com.sucstepsoft.cm_utils.core.beans.AddPhotoBean;
|
||||
import com.sucstepsoft.cm_utils.core.beans.BaseSuccessBean;
|
||||
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.BaseActivity;
|
||||
@ -350,40 +349,11 @@ public class NewsDetailActivity extends BaseActivity {
|
||||
.navigation();
|
||||
}
|
||||
});
|
||||
doSaveRead();
|
||||
String read = String.format(getResources().getString(R.string.big_data_str), "", mNId, "新闻");
|
||||
LogUtils.e(read);
|
||||
bigDataRead(read);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存浏览量
|
||||
*/
|
||||
private void doSaveRead() {
|
||||
RetrofitManager.getInstance()
|
||||
.create(HomeApi.class)
|
||||
.doSaveRead("安卓" + mNId)
|
||||
.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() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void showShareDialog() {
|
||||
BottomDialogShareView shareView = new BottomDialogShareView.DialogBuilder(mActivity).build();
|
||||
|
@ -2,12 +2,14 @@ package com.tengshisoft.mudulemain.cultural.activitys.news;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
|
||||
import com.sucstepsoft.cm_utils.constant.PathConfig;
|
||||
import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
|
||||
@ -88,6 +90,15 @@ public class NewsListActivity extends BaseActivity {
|
||||
getNewsListByType(mCurrentPage);
|
||||
}
|
||||
});
|
||||
mLlImg.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_NEWS_SEARCH)
|
||||
.withString("id", mType)
|
||||
.withBoolean("isTab", false)
|
||||
.navigation());
|
||||
mAdapter.addOnItemClickByType(this::showNewsDetail);
|
||||
if (!TextUtils.isEmpty(UserLgUtils.getToken())) {
|
||||
getNewsListByTypeToken(mCurrentPage);
|
||||
|
@ -296,40 +296,12 @@ public class NewsLocalDetailActivity extends BaseActivity {
|
||||
}
|
||||
});
|
||||
getNewsDetail();
|
||||
doSaveRead();
|
||||
String read = String.format(getResources().getString(R.string.big_data_str), "", mNId, "新闻");
|
||||
LogUtils.e(read);
|
||||
bigDataRead(read);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存浏览量
|
||||
*/
|
||||
private void doSaveRead() {
|
||||
RetrofitManager.getInstance()
|
||||
.create(HomeApi.class)
|
||||
.doSaveRead("APP" + mNId)
|
||||
.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() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取新闻详情
|
||||
|
@ -12,6 +12,8 @@ import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||
import androidx.viewpager2.widget.ViewPager2;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.sucstepsoft.cm_utils.constant.PathConfig;
|
||||
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
|
||||
@ -59,6 +61,15 @@ public class NewsMainActivity extends BaseActivity {
|
||||
mPId = getIntent().getStringExtra("pId");
|
||||
refreshView(STATE_LOAD_LOADING);
|
||||
mTvBaseTitle.setText(mTitle);
|
||||
mLlImg.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_NEWS_SEARCH)
|
||||
.withString("id", mId)
|
||||
.withBoolean("isTab", true)
|
||||
.navigation());
|
||||
getNewsTabs();
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,316 @@
|
||||
package com.tengshisoft.mudulemain.cultural.activitys.news;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
|
||||
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.BaseActivity;
|
||||
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.adapter.NewsAdapter;
|
||||
import com.tengshisoft.mudulemain.cultural.adapter.NewsTabAdapter;
|
||||
import com.tengshisoft.mudulemain.cultural.beans.NewsItemBean;
|
||||
import com.tengshisoft.mudulemain.cultural.beans.NewsTabBean;
|
||||
import com.tengshisoft.mudulemain.cultural.net.HomeApi;
|
||||
import com.tengshisoft.mudulemain.cultural.utils.ExceptionHandler;
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
* 搜索新闻
|
||||
*/
|
||||
@Route(path = PathConfig.PATH_MODULE_MAIN_NEWS_SEARCH)
|
||||
public class NewsSearchActivity extends BaseActivity {
|
||||
@BindView(R2.id.iv_search_back)
|
||||
ImageView mIvSearchBack;
|
||||
@BindView(R2.id.et_search_content)
|
||||
EditText mEtSearchContent;
|
||||
@BindView(R2.id.tv_search_btn)
|
||||
TypeFaceTextView mTvSearchBtn;
|
||||
@BindView(R2.id.srl_content)
|
||||
SmartRefreshLayout mSrlContent;
|
||||
@BindView(R2.id.rlv_content)
|
||||
RecyclerView mRlvContent;
|
||||
@BindView(R2.id.csv_state)
|
||||
CustomStateView mCsvState;
|
||||
@BindView(R2.id.rlv_tab)
|
||||
RecyclerView mRlvTab;
|
||||
private String mId;//新闻类型ID;
|
||||
private String mKeywords = "";//搜索的关键字
|
||||
private int mCurrentPage = 1;
|
||||
private List<NewsItemBean.RowsBean> mDatas = new ArrayList<>();
|
||||
private NewsAdapter mAdapter;
|
||||
private boolean mIsTab;
|
||||
private NewsTabAdapter mTabAdapter;
|
||||
private List<NewsTabBean> mTabs = new ArrayList<>();
|
||||
private int mSearchCount = 1;
|
||||
private NewsTabBean mCurrentTab;
|
||||
|
||||
@Override
|
||||
protected int setLayoutId() {
|
||||
return R.layout.activity_news_search;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initData() {
|
||||
ButterKnife.bind(this);
|
||||
mRlTitleBar.setVisibility(View.GONE);
|
||||
mRlTitleBar1.setVisibility(View.GONE);
|
||||
ImmersionBar.with(this)
|
||||
.transparentStatusBar()
|
||||
.statusBarDarkFont(true)
|
||||
.fullScreen(true)
|
||||
.init();
|
||||
refreshView(STATE_LOAD_SUCCESS);
|
||||
mTvSearchBtn.setVisibility(View.GONE);
|
||||
mId = getIntent().getStringExtra("id");
|
||||
//是否有下级目录
|
||||
mIsTab = getIntent().getBooleanExtra("isTab", false);
|
||||
mIvSearchBack.setOnClickListener(v -> finish());
|
||||
mCsvState.setState(CustomStateView.STATE_SEARCH);
|
||||
mEtSearchContent.setOnEditorActionListener((v, actionId, event) -> {
|
||||
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
|
||||
mKeywords = mEtSearchContent.getText().toString().trim();
|
||||
hideSoftKeyboard();
|
||||
if (TextUtils.isEmpty(mKeywords)) {
|
||||
ToastUtils.show("请输入要查询的内容");
|
||||
} else {
|
||||
doSaveKeywords();
|
||||
if (mIsTab && mSearchCount == 1) {
|
||||
mSearchCount = 2;
|
||||
getNewsTab();
|
||||
} else {
|
||||
doRefreshList(1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
});
|
||||
mAdapter = new NewsAdapter(mActivity, mDatas);
|
||||
mRlvContent.setLayoutManager(new LinearLayoutManager(mActivity));
|
||||
mRlvContent.setAdapter(mAdapter);
|
||||
mAdapter.addOnItemClickByType(this::showNewsDetail);
|
||||
mTabAdapter = new NewsTabAdapter(mActivity, mTabs);
|
||||
mRlvTab.setLayoutManager(new LinearLayoutManager(mActivity, LinearLayoutManager.HORIZONTAL, false));
|
||||
mRlvTab.setAdapter(mTabAdapter);
|
||||
mTabAdapter.addOnItemClickListener(newsTabBean -> {
|
||||
mCurrentTab = newsTabBean;
|
||||
for (int i = 0; i < mTabs.size(); i++) {
|
||||
NewsTabBean tabBean = mTabs.get(i);
|
||||
if (tabBean.getDirectoriesName().equals(newsTabBean.getDirectoriesName())) {
|
||||
tabBean.setCheck(true);
|
||||
} else {
|
||||
tabBean.setCheck(false);
|
||||
}
|
||||
}
|
||||
mTabAdapter.setData(mTabs);
|
||||
doSaveKeywords();
|
||||
doRefreshList(1);
|
||||
});
|
||||
mSrlContent.setOnRefreshListener(refreshLayout -> doRefreshList(2));
|
||||
mSrlContent.setOnLoadMoreListener(refreshLayout -> doLoadMore());
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示新闻详情
|
||||
*
|
||||
* @param rowsBean
|
||||
* @param type
|
||||
*/
|
||||
private void showNewsDetail(NewsItemBean.RowsBean rowsBean, int type) {
|
||||
String url = "";
|
||||
if ("6".equals(rowsBean.getNewsContentType())) {
|
||||
ARouter.getInstance()
|
||||
.build(PathConfig.PATH_MODULE_MAIN_NEWS_WEB)
|
||||
.withString("title", rowsBean.getNewsContentTitle())
|
||||
.withString("url", rowsBean.getNewsContentContent())
|
||||
.navigation();
|
||||
} else {
|
||||
int newsType = 0;
|
||||
if (type == 1) {
|
||||
//1自定义列表
|
||||
//3列表详情
|
||||
if ("1".equals(rowsBean.getNewsConfigWebSwitch())) {
|
||||
//列表
|
||||
url = rowsBean.getTemplateRecordUrl();
|
||||
newsType = 0;
|
||||
} else {
|
||||
//内容
|
||||
url = rowsBean.getNewsConfigDescriptionText();
|
||||
newsType = 1;
|
||||
}
|
||||
} else {
|
||||
newsType = 0;
|
||||
url = rowsBean.getTemplateRecordUrl();
|
||||
}
|
||||
ARouter.getInstance()
|
||||
.build(PathConfig.PATH_MODULE_MAIN_NEWS_DETAIL) //TODO 连接
|
||||
// .build(PathConfig.PATH_MODULE_MAIN_NEWS_DETAIL_INTERFACE)//TODO 接口方式
|
||||
.withString("id", rowsBean.getNewsContentId())
|
||||
.withString("url", url)
|
||||
.withString("isComment", rowsBean.getNewsConfigComment())//是否可以评论
|
||||
.withString("isCommentImg", rowsBean.getNewsConfigCommentImage())//评论是否可以上传图片
|
||||
.withString("isCollect", rowsBean.getNewsContentCollectStatus())
|
||||
.withString("photo",
|
||||
BaseUrlApi.BASE_NEWS_IMG_URL + rowsBean.getNewsContentCoverList().get(0).getContentCoverId())
|
||||
.withString("title", rowsBean.getNewsContentTitle())
|
||||
.withInt("type", newsType)
|
||||
.navigation();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取二级目录
|
||||
*/
|
||||
private void getNewsTab() {
|
||||
RetrofitManager.getInstance()
|
||||
.create(HomeApi.class)
|
||||
.getNewsTabListByPid(mId)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<List<NewsTabBean>>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(List<NewsTabBean> newsTabBeans) {
|
||||
if (newsTabBeans != null && newsTabBeans.size() > 0) {
|
||||
NewsTabBean b = new NewsTabBean();
|
||||
b.setDirectoriesName("全部");
|
||||
b.setCheck(true);
|
||||
mCurrentTab = b;
|
||||
mTabs.add(b);
|
||||
mTabs.addAll(newsTabBeans);
|
||||
mTabAdapter.setData(mTabs);
|
||||
doRefreshList(1);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
doRefreshList(1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存查询的关键字
|
||||
*/
|
||||
private void doSaveKeywords() {
|
||||
String params = String.format(getResources().getString(R.string.big_data_str), "QUERY", mKeywords, "END");
|
||||
bigDataRead(params);
|
||||
}
|
||||
|
||||
/**
|
||||
* 刷新列表
|
||||
*/
|
||||
private void doRefreshList(int i) {
|
||||
mCurrentPage = 1;
|
||||
mDatas.clear();
|
||||
if (i == 1) {
|
||||
mCsvState.setState(CustomStateView.STATE_LOAD);
|
||||
}
|
||||
mAdapter.setData(mDatas);
|
||||
if (mIsTab) {
|
||||
if ("全部".equals(mCurrentTab.getDirectoriesName())) {
|
||||
getNewsList("", mId);
|
||||
} else {
|
||||
getNewsList(mCurrentTab.getNewsDirectoriesId(), "");
|
||||
}
|
||||
} else {
|
||||
getNewsList("", mId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 加载更多
|
||||
*/
|
||||
private void doLoadMore() {
|
||||
++mCurrentPage;
|
||||
if (mIsTab) {
|
||||
if ("全部".equals(mCurrentTab.getDirectoriesName())) {
|
||||
getNewsList("", mId);
|
||||
} else {
|
||||
getNewsList(mCurrentTab.getNewsDirectoriesId(), "");
|
||||
}
|
||||
} else {
|
||||
getNewsList("", mId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void getNewsList(String id, String pId) {
|
||||
RetrofitManager.getInstance()
|
||||
.create(HomeApi.class)
|
||||
.getNewsList(id, pId, mCurrentPage + "", "10", mKeywords)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<NewsItemBean>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(NewsItemBean newsItemBean) {
|
||||
mDatas.addAll(newsItemBean.getRows());
|
||||
mAdapter.setData(mDatas);
|
||||
mSrlContent.finishRefresh();
|
||||
mSrlContent.finishLoadMore();
|
||||
if (newsItemBean.getRows().size() > 0) {
|
||||
mCsvState.setState(CustomStateView.STATE_SUCCESS);
|
||||
} else {
|
||||
if (mCurrentPage == 1) {
|
||||
mCsvState.setState(CustomStateView.STATE_EMPTY);
|
||||
}
|
||||
mSrlContent.setNoMoreData(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
ExceptionHandler.handleException(e);
|
||||
mCsvState.setState(CustomStateView.STATE_ERROR);
|
||||
mSrlContent.finishLoadMore();
|
||||
mSrlContent.finishRefresh();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
@ -1,28 +1,24 @@
|
||||
package com.tengshisoft.mudulemain.cultural.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import android.net.http.SslError;
|
||||
import android.os.Build;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.webkit.SslErrorHandler;
|
||||
import android.webkit.WebResourceRequest;
|
||||
import android.webkit.WebSettings;
|
||||
import android.webkit.WebView;
|
||||
import android.webkit.WebViewClient;
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.MultiTransformation;
|
||||
import com.bumptech.glide.load.resource.bitmap.FitCenter;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.sucstepsoft.cm_utils.constant.PathConfig;
|
||||
import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
|
||||
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
|
||||
import com.sucstepsoft.cm_utils.core.widget.base.GlideRoundTransform;
|
||||
import com.sucstepsoft.cm_utils.core.widget.base.RoundedCornersTransform;
|
||||
import com.sucstepsoft.cm_utils.utils.ConvertUtils;
|
||||
import com.sucstepsoft.cm_utils.utils.LogUtils;
|
||||
@ -54,6 +50,7 @@ public class NewsAdapter extends BaseRecyclerAdapter<NewsItemBean.RowsBean, Recy
|
||||
roundedCornersTransform.setNeedCorner(true, true, true, true);
|
||||
mPicOptions = new RequestOptions()
|
||||
.transform(roundedCornersTransform)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.error(R.drawable.ic_img_default)
|
||||
.placeholder(R.drawable.ic_img_default);
|
||||
|
||||
|
@ -0,0 +1,51 @@
|
||||
package com.tengshisoft.mudulemain.cultural.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
|
||||
import com.tengshisoft.mudulemain.R;
|
||||
import com.tengshisoft.mudulemain.cultural.beans.NewsTabBean;
|
||||
import com.tengshisoft.mudulemain.cultural.holder.NewsTabHolder;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 作者: adam
|
||||
* 日期: 2020/5/15 - 10:00 AM
|
||||
* 邮箱: itgaojian@163.com
|
||||
* 描述:
|
||||
*/
|
||||
public class NewsTabAdapter extends BaseRecyclerAdapter<NewsTabBean, NewsTabHolder> {
|
||||
|
||||
public NewsTabAdapter(Context ctx, List<NewsTabBean> list) {
|
||||
super(ctx, list);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public long getItemId(int position) {
|
||||
return position;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NewsTabHolder createHolder(ViewGroup parent, int viewType) {
|
||||
View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_tab, parent, false);
|
||||
return new NewsTabHolder(itemView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bindHolder(NewsTabHolder funcHolder, int i) {
|
||||
NewsTabBean tab = mData.get(i);
|
||||
if (tab.isCheck()) {
|
||||
funcHolder.mVLine.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
funcHolder.mVLine.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
funcHolder.mTvName.setText(tab.getDirectoriesName());
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -41,6 +41,16 @@ public class NewsTabBean {
|
||||
private String directoriesTarget3;
|
||||
private String directoriesView;
|
||||
private String newsDirectoriesId;
|
||||
private boolean isCheck;
|
||||
|
||||
|
||||
public boolean isCheck() {
|
||||
return isCheck;
|
||||
}
|
||||
|
||||
public void setCheck(boolean check) {
|
||||
isCheck = check;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
|
@ -479,8 +479,8 @@ public class HomeFragment extends BaseFragment {
|
||||
url = rowsBean.getTemplateRecordUrl();
|
||||
}
|
||||
ARouter.getInstance()
|
||||
// .build(PathConfig.PATH_MODULE_MAIN_NEWS_DETAIL) //TODO 连接
|
||||
.build(PathConfig.PATH_MODULE_MAIN_NEWS_DETAIL_INTERFACE)//TODO 接口方式
|
||||
.build(PathConfig.PATH_MODULE_MAIN_NEWS_DETAIL) //TODO 连接
|
||||
// .build(PathConfig.PATH_MODULE_MAIN_NEWS_DETAIL_INTERFACE)//TODO 接口方式
|
||||
.withString("id", rowsBean.getNewsContentId())
|
||||
.withString("url", url)
|
||||
.withString("isComment", rowsBean.getNewsConfigComment())//是否可以评论
|
||||
|
@ -137,8 +137,8 @@ public class NewsFragment extends BaseFragment {
|
||||
url = rowsBean.getTemplateRecordUrl();
|
||||
}
|
||||
ARouter.getInstance()
|
||||
// .build(PathConfig.PATH_MODULE_MAIN_NEWS_DETAIL)
|
||||
.build(PathConfig.PATH_MODULE_MAIN_NEWS_DETAIL_INTERFACE)
|
||||
.build(PathConfig.PATH_MODULE_MAIN_NEWS_DETAIL)
|
||||
// .build(PathConfig.PATH_MODULE_MAIN_NEWS_DETAIL_INTERFACE)
|
||||
.withString("id", rowsBean.getNewsContentId())
|
||||
.withString("url", url)
|
||||
.withString("isComment", rowsBean.getNewsConfigComment())//是否可以评论
|
||||
|
@ -0,0 +1,26 @@
|
||||
package com.tengshisoft.mudulemain.cultural.holder;
|
||||
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView;
|
||||
import com.tengshisoft.mudulemain.R;
|
||||
|
||||
/**
|
||||
* 作者: adam
|
||||
* 日期: 2020/5/28 - 10:18 AM
|
||||
* 邮箱: itgaojian@163.com
|
||||
* 描述:
|
||||
*/
|
||||
public class NewsTabHolder extends RecyclerView.ViewHolder {
|
||||
public View mVLine;
|
||||
public TypeFaceTextView mTvName;
|
||||
|
||||
public NewsTabHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
mVLine = itemView.findViewById(R.id.v_line);
|
||||
mTvName = itemView.findViewById(R.id.tv_name);
|
||||
}
|
||||
}
|
@ -148,6 +148,18 @@ public interface HomeApi {
|
||||
@Query("newsDirectoriesParentId") String pId,
|
||||
@Query("page") String page);
|
||||
|
||||
|
||||
/**
|
||||
* 获取新闻列表-不需要token
|
||||
*/
|
||||
@Headers({"base_url_name:news", "Content-Type:application/json", "Accept:application/json", "need_area:true"})
|
||||
@GET("app/newscontent/listpagenewscontentrelease")
|
||||
Observable<NewsItemBean> getNewsList(@Query("newsDirectoriesId") String newsDirectoriesId,
|
||||
@Query("newsDirectoriesParentId") String pId,
|
||||
@Query("page") String page,
|
||||
@Query("rows") String rows,
|
||||
@Query("keywords") String keywords);
|
||||
|
||||
/**
|
||||
* 获取新闻评论数量,多个新闻ID用下划线隔开(id_id_id)
|
||||
*/
|
||||
@ -188,22 +200,6 @@ public interface HomeApi {
|
||||
@GET("app/newscontent/getnewscontentbyidrelease/{id}")
|
||||
Observable<NewsDetailBean> getNewsDetail(@Path("id") String id);
|
||||
|
||||
/**
|
||||
* 新闻访问量
|
||||
* http://v3.xzszwhy.cn/module/
|
||||
*/
|
||||
@Headers({"base_url_name:bigdata", "Content-Type:application/json", "Accept:application/json"})
|
||||
@GET("app/contentcensusrelease/log")
|
||||
Observable<BaseSuccessBean> doSaveRead(@Query("requestUrl") String id);
|
||||
|
||||
/**
|
||||
* 搜索热词
|
||||
* ?requestUrl=安卓QUERY要搜索的内容END
|
||||
*/
|
||||
@Headers({"base_url_name:bigdata", "Content-Type:application/json", "Accept:application/json"})
|
||||
@GET("app/contentcensusrelease/log")
|
||||
Observable<BaseSuccessBean> bigDataKeywords(@Query("requestUrl") String id);
|
||||
|
||||
/**
|
||||
* 获取评论列表
|
||||
*/
|
||||
|
46
modulemain/src/main/res/layout/activity_news_search.xml
Normal file
46
modulemain/src/main/res/layout/activity_news_search.xml
Normal file
@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout 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:orientation="vertical"
|
||||
android:paddingTop="30dp"
|
||||
tools:context=".cultural.activitys.news.NewsSearchActivity">
|
||||
|
||||
<include layout="@layout/layout_search" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rlv_tab"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginRight="10dp"
|
||||
tools:itemCount="3"
|
||||
tools:layoutManager="LinearlayoutManager"
|
||||
tools:listitem="@layout/item_tab"
|
||||
tools:orientation="horizontal" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white"
|
||||
android:padding="10dp">
|
||||
|
||||
<com.scwang.smartrefresh.layout.SmartRefreshLayout
|
||||
android:id="@+id/srl_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rlv_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
|
||||
|
||||
<com.sucstepsoft.cm_utils.core.widget.views.CustomStateView
|
||||
android:id="@+id/csv_state"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true" />
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
26
modulemain/src/main/res/layout/item_tab.xml
Normal file
26
modulemain/src/main/res/layout/item_tab.xml
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView
|
||||
android:id="@+id/tv_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp"
|
||||
android:textSize="@dimen/text_14"
|
||||
tools:text="全部" />
|
||||
|
||||
<View
|
||||
android:id="@+id/v_line"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="2dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginTop="2dp"
|
||||
android:layout_marginRight="10dp"
|
||||
android:background="@color/app_title_9f_no" />
|
||||
</LinearLayout>
|
@ -18,6 +18,7 @@ import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
|
||||
import com.sucstepsoft.cm_utils.core.widget.base.BaseBannerImageAdapter;
|
||||
import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView;
|
||||
import com.sucstepsoft.cm_utils.utils.ConvertUtils;
|
||||
import com.sucstepsoft.cm_utils.utils.LogUtils;
|
||||
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
|
||||
import com.tengshisoft.moduleplace.R;
|
||||
import com.tengshisoft.moduleplace.R2;
|
||||
@ -93,6 +94,9 @@ public class PlaceDetailActivity extends BaseActivity {
|
||||
getPlaceDetailData(mId);
|
||||
mTvPlaceDetail.setOnClickListener(v -> showPlaceDetail());
|
||||
mMrbLevel.setIsIndicator(true);
|
||||
String read = String.format(getResources().getString(R.string.big_data_str), "", mId, "场馆");
|
||||
LogUtils.e(read);
|
||||
bigDataRead(read);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user