app/src/main/AndroidManifest.xml | ●●●●● patch | view | raw | blame | history | |
app/src/main/java/com/runt/open/mvvm/data/Results.java | ●●●●● patch | view | raw | blame | history | |
app/src/main/java/com/runt/open/mvvm/retrofit/api/CommonApiCenter.java | ●●●●● patch | view | raw | blame | history | |
app/src/main/java/com/runt/open/mvvm/ui/main/MainActivity.java | ●●●●● patch | view | raw | blame | history | |
app/src/main/java/com/runt/open/mvvm/ui/main/home/MsgAdapter.java | ●●●●● patch | view | raw | blame | history | |
app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailActivity.java | ●●●●● patch | view | raw | blame | history | |
app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailViewModel.java | ●●●●● patch | view | raw | blame | history | |
app/src/main/res/layout/activity_msg_detail.xml | ●●●●● patch | view | raw | blame | history |
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> 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; } //版本更新 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); } 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("服务"); 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)); } }); } app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailActivity.java
New file @@ -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")); } } app/src/main/java/com/runt/open/mvvm/ui/msg/MsgDetailViewModel.java
New file @@ -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(); } }); } } app/src/main/res/layout/activity_msg_detail.xml
New file @@ -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>