From b105bd6a5eed78f8a1741fe23b9ccb259953f3e2 Mon Sep 17 00:00:00 2001
From: nilupeng <qingingrunt2010@qq.com>
Date: Thu, 11 Aug 2022 09:27:26 +0000
Subject: [PATCH] 资讯详情
---
app/src/main/res/layout/activity_msg_detail.xml | 80 ++++++++++++++++++++++++++
app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailActivity.java | 30 ++++++++++
app/src/main/AndroidManifest.xml | 1
app/src/main/java/com/runt/open/mvvm/ui/main/home/MsgAdapter.java | 5 +
app/src/main/java/com/runt/open/mvvm/data/Results.java | 2
app/src/main/java/com/runt/open/mvvm/ui/main/MainActivity.java | 2
app/src/main/java/com/runt/open/mvvm/retrofit/api/CommonApiCenter.java | 7 ++
app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailViewModel.java | 37 ++++++++++++
8 files changed, 160 insertions(+), 4 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 58fd4f1..b3b79ce 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -47,6 +47,7 @@
<activity android:name=".ui.web.WebViewActivity" />
<activity android:name=".ui.SettingActivity" />
<activity android:name=".ui.AboutActivity" />
+ <activity android:name=".ui.msg.MsgDetailActivity" />
</application>
diff --git a/app/src/main/java/com/runt/open/mvvm/data/Results.java b/app/src/main/java/com/runt/open/mvvm/data/Results.java
index 3d7b385..b9fc8b6 100644
--- a/app/src/main/java/com/runt/open/mvvm/data/Results.java
+++ b/app/src/main/java/com/runt/open/mvvm/data/Results.java
@@ -14,7 +14,7 @@
//资讯信息
public class Message {
- public String id,title,content,cTime;
+ public String id,title,content,cTime,cUName,cId;
}
//版本更新
diff --git a/app/src/main/java/com/runt/open/mvvm/retrofit/api/CommonApiCenter.java b/app/src/main/java/com/runt/open/mvvm/retrofit/api/CommonApiCenter.java
index 4934aee..f8ad90d 100644
--- a/app/src/main/java/com/runt/open/mvvm/retrofit/api/CommonApiCenter.java
+++ b/app/src/main/java/com/runt/open/mvvm/retrofit/api/CommonApiCenter.java
@@ -72,4 +72,11 @@
*/
@GET("getMsgList")
Observable<HttpApiResult<PageResult<Results.Message>>> getMsgList(@Query("page") int pageNum, @Query("size") int pageSize);
+
+ /**
+ * app更新
+ * @return
+ */
+ @GET("getMsgDetail")
+ Observable<HttpApiResult<Results.Message>> getMsgDetail(@Query("id") String id);
}
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/main/MainActivity.java b/app/src/main/java/com/runt/open/mvvm/ui/main/MainActivity.java
index 2c6cc65..70f50a9 100644
--- a/app/src/main/java/com/runt/open/mvvm/ui/main/MainActivity.java
+++ b/app/src/main/java/com/runt/open/mvvm/ui/main/MainActivity.java
@@ -114,7 +114,7 @@
private void setTitleStr(int position){
switch (position){
case 0:
- setTitle("资讯Aljkpqla");
+ setTitle("资讯");
break;
case 1:
setTitle("服务");
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/main/home/MsgAdapter.java b/app/src/main/java/com/runt/open/mvvm/ui/main/home/MsgAdapter.java
index 89a4e55..725df50 100644
--- a/app/src/main/java/com/runt/open/mvvm/ui/main/home/MsgAdapter.java
+++ b/app/src/main/java/com/runt/open/mvvm/ui/main/home/MsgAdapter.java
@@ -1,11 +1,12 @@
package com.runt.open.mvvm.ui.main.home;
+import android.content.Intent;
import android.view.View;
-
import com.runt.open.mvvm.base.adapter.BaseAdapter;
import com.runt.open.mvvm.data.Results;
import com.runt.open.mvvm.databinding.ItemMsgBinding;
import com.runt.open.mvvm.listener.CustomClickListener;
+import com.runt.open.mvvm.ui.msg.MsgDetailActivity;
import com.runt.open.mvvm.util.HandleDate;
/**
@@ -24,7 +25,7 @@
binding.getRoot().setOnClickListener(new CustomClickListener() {
@Override
protected void onSingleClick(View view) {
- //context.startActivity(new Intent(context, MsgDetailActivity.class).putExtra("id", data.get("id").toString()));
+ view.getContext().startActivity(new Intent(view.getContext(), MsgDetailActivity.class).putExtra("id",message.id));
}
});
}
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailActivity.java b/app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailActivity.java
new file mode 100644
index 0000000..68f16fd
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailActivity.java
@@ -0,0 +1,30 @@
+package com.runt.open.mvvm.ui.msg;
+
+import android.webkit.WebSettings;
+import com.runt.open.mvvm.R;
+import com.runt.open.mvvm.base.activities.BaseActivity;
+import com.runt.open.mvvm.databinding.ActivityMsgDetailBinding;
+import com.runt.open.mvvm.util.HandleDate;
+
+/**
+ * @purpose Created by Runt (qingingrunt2010@qq.com) on 2022/8/11.
+ */
+public class MsgDetailActivity extends BaseActivity<ActivityMsgDetailBinding,MsgDetailViewModel> {
+ @Override
+ public void initViews() {
+ mViewModel.detailLive.observe(this, message -> {
+ mBinding.txtMsgTitle.setText(message.title);
+ mBinding.txtAuthor.setText(message.cUName);
+ mBinding.txtTime.setText(HandleDate.getTimeStateNew(HandleDate.getDateTimeToLong(message.cTime))+" · "+getString(R.string.created_at));
+ WebSettings settings = mBinding.txtContent.getSettings();
+ settings.setTextZoom(80); // 通过百分比来设置文字的大小,默认值是100。
+ settings.setDefaultTextEncodingName("UTF-8");
+ mBinding.txtContent.loadData(message.content,"text/html","UTF-8");
+ });
+ }
+
+ @Override
+ public void loadData() {
+ mViewModel.getMsgDetail(getIntent().getStringExtra("id"));
+ }
+}
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailViewModel.java b/app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailViewModel.java
new file mode 100644
index 0000000..59fa1a2
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailViewModel.java
@@ -0,0 +1,37 @@
+package com.runt.open.mvvm.ui.msg;
+
+import androidx.lifecycle.MutableLiveData;
+import com.runt.open.mvvm.base.model.BaseViewModel;
+import com.runt.open.mvvm.data.HttpApiResult;
+import com.runt.open.mvvm.data.Results;
+import com.runt.open.mvvm.retrofit.observable.HttpObserver;
+
+/**
+ * @purpose Created by Runt (qingingrunt2010@qq.com) on 2022/8/11.
+ */
+public class MsgDetailViewModel extends BaseViewModel {
+
+ MutableLiveData<Results.Message> detailLive = new MutableLiveData<>();
+
+ public void getMsgDetail(String id){
+ httpObserverOn(commonApi.getMsgDetail(id), new HttpObserver<Results.Message>() {
+ @Override
+ protected void onSuccess(Results.Message data) {
+ if(mActivity.isNull(data)){
+ mActivity.showToast("消息已被删除");
+ mActivity.finish();
+ }else{
+ detailLive.setValue(data);
+ }
+
+ }
+
+ @Override
+ protected void onFailed(HttpApiResult error) {
+ super.onFailed(error);
+ mActivity.finish();
+ }
+ });
+ }
+
+}
diff --git a/app/src/main/res/layout/activity_msg_detail.xml b/app/src/main/res/layout/activity_msg_detail.xml
new file mode 100644
index 0000000..c181a23
--- /dev/null
+++ b/app/src/main/res/layout/activity_msg_detail.xml
@@ -0,0 +1,80 @@
+<?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:background="@color/white"
+ android:layout_height="match_parent"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:orientation="vertical">
+
+ <com.runt.open.mvvm.widgets.TitleBarView
+ android:id="@+id/title_bar"
+ style="@style/titlebar"
+ app:titleText="@string/str_msg_detail"
+ app:leftDrawable="@mipmap/icon_white_back"
+ app:leftTint="@color/black"/>
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:scrollbars="vertical">
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/default_margin_lr"
+ android:paddingLeft="@dimen/default_margin_lr"
+ android:paddingRight="@dimen/default_margin_lr"
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@+id/txt_msg_title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textSize="26sp"
+ android:textStyle="bold" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/default_margin_lr"
+ android:layout_marginBottom="10dp"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+
+
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+
+ <TextView
+ android:id="@+id/txt_author"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="14sp"
+ android:text="作者"
+ />
+
+ <TextView
+ android:id="@+id/txt_time"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/txt_enable"
+ android:text="时间"
+ />
+
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <WebView
+ android:id="@+id/txt_content"
+ android:layout_marginTop="10dp"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" tools:ignore="WebViewLayout"/>
+ </LinearLayout>
+
+ </ScrollView>
+</LinearLayout>
\ No newline at end of file
--
Gitblit v1.9.1