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