Skip to content

Commit 25274a5

Browse files
committed
fix tag没有数据的空指针 bug,修复了发现页面没有网络的时候UI处理等小Bug。
1 parent 033243e commit 25274a5

File tree

16 files changed

+63
-29
lines changed

16 files changed

+63
-29
lines changed

app/src/main/java/com/hazz/kotlinmvp/base/BaseFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ import com.hazz.kotlinmvp.showToast
4848
super.onViewCreated(view, savedInstanceState)
4949
isViewPrepare = true
5050
initView()
51-
//多种状态切换的view 重试点击事件
5251
lazyLoadDataIfPrepared()
52+
//多种状态切换的view 重试点击事件
5353
mLayoutStatusView?.setOnClickListener(mRetryClickListener)
5454
}
5555

app/src/main/java/com/hazz/kotlinmvp/mvp/contract/HotTabContract.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ interface HotTabContract {
1616
*/
1717
fun setTabInfo(tabInfoBean: TabInfoBean)
1818

19-
fun showError(errorMsg:String)
19+
fun showError(errorMsg:String,errorCode:Int)
2020
}
2121

2222

app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/FollowPresenter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class FollowPresenter : BasePresenter<FollowContract.View>(), FollowContract.Pre
1818
private var nextPageUrl:String?=null
1919

2020
/**
21-
* 请求排行榜数据
21+
* 请求关注数据
2222
*/
2323
override fun requestFollowList() {
2424
checkViewAttached()

app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/HotTabPresenter.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.hazz.kotlinmvp.mvp.presenter
33
import com.hazz.kotlinmvp.base.BasePresenter
44
import com.hazz.kotlinmvp.mvp.contract.HotTabContract
55
import com.hazz.kotlinmvp.mvp.model.HotTabModel
6+
import com.hazz.kotlinmvp.net.exception.ExceptionHandle
67

78
/**
89
* Created by xuhao on 2017/11/30.
@@ -21,7 +22,8 @@ class HotTabPresenter:BasePresenter<HotTabContract.View>(),HotTabContract.Presen
2122
mRootView?.setTabInfo(tabInfo)
2223
},{
2324
throwable->
24-
mRootView?.showError(throwable.toString())
25+
//处理异常
26+
mRootView?.showError(ExceptionHandle.handleException(throwable), ExceptionHandle.errorCode)
2527
})
2628
addSubscription(disposable)
2729
}

app/src/main/java/com/hazz/kotlinmvp/ui/activity/MainActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ class MainActivity : BaseActivity() {
165165

166166
}
167167

168-
var mExitTime: Long = 0
168+
private var mExitTime: Long = 0
169169

170170
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
171171
if (keyCode == KeyEvent.KEYCODE_BACK) {

app/src/main/java/com/hazz/kotlinmvp/ui/activity/SplashActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class SplashActivity : BaseActivity() {
5454

5555
//渐变展示启动屏
5656
alphaAnimation= AlphaAnimation(0.3f, 1.0f)
57-
alphaAnimation?.duration = 3000
57+
alphaAnimation?.duration = 2000
5858
alphaAnimation?.setAnimationListener(object : AnimationListener {
5959
override fun onAnimationEnd(arg0: Animation) {
6060
redirectTo()

app/src/main/java/com/hazz/kotlinmvp/ui/adapter/FollowHorizontalAdapter.kt

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import com.hazz.kotlinmvp.mvp.model.bean.HomeBean
1717
import com.hazz.kotlinmvp.ui.activity.VideoDetailActivity
1818
import com.hazz.kotlinmvp.view.recyclerview.ViewHolder
1919
import com.hazz.kotlinmvp.view.recyclerview.adapter.CommonAdapter
20+
import com.orhanobut.logger.Logger
2021

2122
/**
2223
* Created by xuhao on 2017/12/7.
@@ -30,7 +31,7 @@ class FollowHorizontalAdapter(mContext: Context, categoryList: ArrayList<HomeBea
3031
*/
3132
override fun bindData(holder: ViewHolder, data: HomeBean.Issue.Item, position: Int) {
3233
val horizontalItemData = data.data
33-
holder.setImagePath(R.id.iv_cover_feed,object :ViewHolder.HolderImageLoader(data.data?.cover?.feed!!){
34+
holder.setImagePath(R.id.iv_cover_feed, object : ViewHolder.HolderImageLoader(data.data?.cover?.feed!!) {
3435
override fun loadImage(iv: ImageView, path: String) {
3536
// 加载封页图
3637
GlideApp.with(mContext)
@@ -43,17 +44,23 @@ class FollowHorizontalAdapter(mContext: Context, categoryList: ArrayList<HomeBea
4344
})
4445

4546
//横向 RecyclerView 封页图下面标题
46-
holder.setText(R.id.tv_title,horizontalItemData?.title?:"")
47+
holder.setText(R.id.tv_title, horizontalItemData?.title ?: "")
4748

4849
// 格式化时间
4950
val timeFormat = durationFormat(horizontalItemData?.duration)
50-
//标签
51+
//标签
5152
with(holder) {
52-
setText(R.id.tv_tag, "#${horizontalItemData?.tags?.get(0)?.name} / $timeFormat")
53+
Logger.d("horizontalItemData===title:${horizontalItemData?.title}tag:${horizontalItemData?.tags?.size}")
54+
55+
if (horizontalItemData?.tags != null && horizontalItemData.tags.size > 0) {
56+
setText(R.id.tv_tag, "#${horizontalItemData.tags[0].name} / $timeFormat")
57+
}else{
58+
setText(R.id.tv_tag,"#$timeFormat")
59+
}
5360

5461
setOnItemClickListener(listener = View.OnClickListener {
55-
goToVideoPlayer(mContext as Activity, holder.getView(R.id.iv_cover_feed), data)
56-
})
62+
goToVideoPlayer(mContext as Activity, holder.getView(R.id.iv_cover_feed), data)
63+
})
5764
}
5865

5966

app/src/main/java/com/hazz/kotlinmvp/ui/fragment/CategoryFragment.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,7 @@ class CategoryFragment : BaseFragment(), CategoryContract.View {
5353
@Suppress("DEPRECATION")
5454
override fun initView() {
5555
mPresenter.attachView(this)
56-
//获取分类信息
57-
mPresenter.getCategoryData()
56+
5857

5958
mLayoutStatusView = multipleStatusView
6059

@@ -80,15 +79,16 @@ class CategoryFragment : BaseFragment(), CategoryContract.View {
8079

8180
override fun lazyLoad() {
8281

83-
82+
//获取分类信息
83+
mPresenter.getCategoryData()
8484
}
8585

8686
override fun showLoading() {
87-
mLayoutStatusView?.showLoading()
87+
multipleStatusView?.showLoading()
8888
}
8989

9090
override fun dismissLoading() {
91-
mLayoutStatusView?.showContent()
91+
multipleStatusView?.showContent()
9292
}
9393

9494
/**
@@ -103,9 +103,9 @@ class CategoryFragment : BaseFragment(), CategoryContract.View {
103103
override fun showError(errorMsg: String,errorCode:Int) {
104104
showToast(errorMsg)
105105
if (errorCode == ErrorStatus.NETWORK_ERROR) {
106-
mLayoutStatusView?.showNoNetwork()
106+
multipleStatusView?.showNoNetwork()
107107
} else {
108-
mLayoutStatusView?.showError()
108+
multipleStatusView?.showError()
109109
}
110110
}
111111

app/src/main/java/com/hazz/kotlinmvp/ui/fragment/FollowFragment.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ class FollowFragment : BaseFragment(), FollowContract.View {
7070
}
7171
})
7272

73+
mLayoutStatusView = multipleStatusView
74+
7375
}
7476

7577
override fun lazyLoad() {
@@ -98,9 +100,9 @@ class FollowFragment : BaseFragment(), FollowContract.View {
98100
override fun showError(errorMsg: String, errorCode: Int) {
99101
showToast(errorMsg)
100102
if (errorCode == ErrorStatus.NETWORK_ERROR) {
101-
mLayoutStatusView?.showNoNetwork()
103+
multipleStatusView.showNoNetwork()
102104
} else {
103-
mLayoutStatusView?.showError()
105+
multipleStatusView.showError()
104106
}
105107
}
106108

app/src/main/java/com/hazz/kotlinmvp/ui/fragment/HotFragment.kt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import com.hazz.kotlinmvp.base.BaseFragmentAdapter
88
import com.hazz.kotlinmvp.mvp.contract.HotTabContract
99
import com.hazz.kotlinmvp.mvp.model.bean.TabInfoBean
1010
import com.hazz.kotlinmvp.mvp.presenter.HotTabPresenter
11+
import com.hazz.kotlinmvp.net.exception.ErrorStatus
12+
import com.hazz.kotlinmvp.showToast
1113
import com.hazz.kotlinmvp.utils.StatusBarUtil
1214
import kotlinx.android.synthetic.main.fragment_hot.*
1315

@@ -51,6 +53,8 @@ class HotFragment : BaseFragment(), HotTabContract.View {
5153
}
5254

5355
override fun initView() {
56+
57+
mLayoutStatusView = multipleStatusView
5458
//状态栏透明和间距处理
5559
StatusBarUtil.darkMode(activity)
5660
StatusBarUtil.setPaddingSmart(activity, toolbar)
@@ -76,8 +80,13 @@ class HotFragment : BaseFragment(), HotTabContract.View {
7680

7781
}
7882

79-
override fun showError(errorMsg: String) {
80-
83+
override fun showError(errorMsg: String,errorCode:Int) {
84+
showToast(errorMsg)
85+
if (errorCode == ErrorStatus.NETWORK_ERROR) {
86+
multipleStatusView.showNoNetwork()
87+
} else {
88+
multipleStatusView.showError()
89+
}
8190
}
8291

8392
override fun onDestroy() {

0 commit comments

Comments
 (0)