Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
门心叼龙
android-mvp-flytour-kotlin
提交
0a319366
A
android-mvp-flytour-kotlin
项目概览
门心叼龙
/
android-mvp-flytour-kotlin
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
android-mvp-flytour-kotlin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
0a319366
编写于
2月 17, 2020
作者:
门心叼龙
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
NewsDetail init commit
上级
28d8e1af
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
183 addition
and
3 deletion
+183
-3
module_news/build.gradle
module_news/build.gradle
+2
-0
module_news/src/main/AndroidManifest.xml
module_news/src/main/AndroidManifest.xml
+4
-0
module_news/src/main/java/com/fly/tour/news/NewsDetailActivity.kt
...ews/src/main/java/com/fly/tour/news/NewsDetailActivity.kt
+47
-0
module_news/src/main/java/com/fly/tour/news/contract/NewsDetailContract.kt
...ain/java/com/fly/tour/news/contract/NewsDetailContract.kt
+32
-0
module_news/src/main/java/com/fly/tour/news/fragment/MainNewsFragment.kt
.../main/java/com/fly/tour/news/fragment/MainNewsFragment.kt
+1
-2
module_news/src/main/java/com/fly/tour/news/fragment/NewsListFragment.kt
.../main/java/com/fly/tour/news/fragment/NewsListFragment.kt
+2
-1
module_news/src/main/java/com/fly/tour/news/model/NewsDetailModel.kt
.../src/main/java/com/fly/tour/news/model/NewsDetailModel.kt
+28
-0
module_news/src/main/java/com/fly/tour/news/presenter/NewsDetailPresenter.kt
...n/java/com/fly/tour/news/presenter/NewsDetailPresenter.kt
+38
-0
module_news/src/main/res/layout/activity_news_detail.xml
module_news/src/main/res/layout/activity_news_detail.xml
+29
-0
未找到文件。
module_news/build.gradle
浏览文件 @
0a319366
...
...
@@ -51,6 +51,8 @@ android {
dependencies
{
implementation
fileTree
(
dir:
'libs'
,
include:
[
'*.jar'
])
implementation
project
(
':lib_common'
)
implementation
'androidx.appcompat:appcompat:1.1.0'
implementation
'androidx.constraintlayout:constraintlayout:1.1.3'
kapt
deps
.
arouter_compiler
annotationProcessor
deps
.
glide_compiler
annotationProcessor
deps
.
dagger_compiler
...
...
module_news/src/main/AndroidManifest.xml
浏览文件 @
0a319366
...
...
@@ -9,6 +9,10 @@
android:roundIcon=
"@mipmap/ic_launcher_round"
android:supportsRtl=
"true"
android:theme=
"@style/AppTheme"
>
<activity
android:name=
".NewsDetailActivity"
android:label=
"新闻详情"
android:theme=
"@style/AppTheme.BackBar"
/>
</application>
</manifest>
\ No newline at end of file
module_news/src/main/java/com/fly/tour/news/NewsDetailActivity.kt
0 → 100644
浏览文件 @
0a319366
package
com.fly.tour.news
import
android.content.Context
import
android.content.Intent
import
androidx.appcompat.app.AppCompatActivity
import
android.os.Bundle
import
com.fly.tour.common.base.BaseMvpActivity
import
com.fly.tour.common.event.KeyCode
import
com.fly.tour.db.entity.NewsDetail
import
com.fly.tour.news.contract.NewsDetailContract
import
com.fly.tour.news.model.NewsDetailModel
import
com.fly.tour.news.presenter.NewsDetailPresenter
import
kotlinx.android.synthetic.main.activity_news_detail.*
class
NewsDetailActivity
:
BaseMvpActivity
<
NewsDetailModel
,
NewsDetailContract
.
View
,
NewsDetailPresenter
>(),
NewsDetailContract
.
View
{
companion
object
{
fun
startNewsDetailActivity
(
context
:
Context
,
id
:
Int
)
{
val
intent
=
Intent
(
context
,
NewsDetailActivity
::
class
.
java
)
intent
.
putExtra
(
KeyCode
.
News
.
NEWS_ID
,
id
)
context
.
startActivity
(
intent
)
}
}
override
fun
showViewDetail
(
newsDetail
:
NewsDetail
?)
{
mTxtNewsDetailTitle
.
text
=
newsDetail
?.
title
mTxtNewsDetailContent
.
text
=
newsDetail
?.
content
}
override
fun
initPresenter
():
NewsDetailPresenter
{
return
NewsDetailPresenter
(
this
)
}
override
fun
onBindLayout
():
Int
{
return
R
.
layout
.
activity_news_detail
}
override
fun
initView
()
{
}
override
fun
initData
()
{
var
newsid
=
intent
.
getIntExtra
(
KeyCode
.
News
.
NEWS_ID
,
-
1
)
mPresenter
?.
getNewsDetailById
(
newsid
)
}
}
module_news/src/main/java/com/fly/tour/news/contract/NewsDetailContract.kt
0 → 100644
浏览文件 @
0a319366
package
com.fly.tour.news.contract
import
com.fly.tour.common.mvp.BaseView
import
com.fly.tour.db.entity.NewsDetail
/**
* Description: <NewsDetailContract><br>
* Author: mxdl<br>
* Date: 2020/2/17<br>
* Version: V1.0.0<br>
* Update: <br>
*/
/**
* Description: <NewsDetailContract><br>
* Author: mxdl<br>
* Date: 2020/2/17<br>
* Version: V1.0.0<br>
* Update: <br>
*/
interface
NewsDetailContract
{
interface
Presenter
{
fun
getNewsDetailById
(
id
:
Int
)
}
interface
View
:
BaseView
{
fun
showViewDetail
(
newsDetail
:
NewsDetail
?)
}
interface
Model
{
fun
getNewsDetailById
(
id
:
Int
):
NewsDetail
?
}
}
\ No newline at end of file
module_news/src/main/java/com/fly/tour/news/fragment/MainNewsFragment.kt
浏览文件 @
0a319366
...
...
@@ -36,7 +36,6 @@ class MainNewsFragment : BaseFragment() {
}
override
fun
initView
(
view
:
View
)
{
//mViewPagers = mViewPager
mViewPager
=
view
.
findViewById
(
R
.
id
.
mViewPager
)
mTabLayout
=
view
.
findViewById
(
R
.
id
.
mTabLayout
)
}
...
...
@@ -52,7 +51,7 @@ class MainNewsFragment : BaseFragment() {
mTabLayout
.
addOnTabSelectedListener
(
object
:
TabLayout
.
OnTabSelectedListener
{
override
fun
onTabReselected
(
p0
:
TabLayout
.
Tab
?)
{
//mListFragment.get(p0.posi
mListFragment
.
get
(
p0
!!
.
position
).
autoLoadData
()
}
override
fun
onTabUnselected
(
p0
:
TabLayout
.
Tab
?)
{
...
...
module_news/src/main/java/com/fly/tour/news/fragment/NewsListFragment.kt
浏览文件 @
0a319366
...
...
@@ -15,6 +15,7 @@ import com.fly.tour.common.event.KeyCode
import
com.fly.tour.common.util.ToastUtil
import
com.fly.tour.db.entity.NewsDetail
import
com.fly.tour.db.entity.NewsType
import
com.fly.tour.news.NewsDetailActivity
import
com.fly.tour.news.R
import
com.fly.tour.news.adapter.NewsListAdapter
import
com.fly.tour.news.contract.NewsListContract
...
...
@@ -69,7 +70,7 @@ class NewsListFragment :
override
fun
initListener
()
{
mNewsListAdapter
?.
setItemClickListener
(
object
:
OnItemClickListener
<
NewsDetail
>
{
override
fun
onItemClick
(
e
:
NewsDetail
,
position
:
Int
)
{
ToastUtil
.
showToast
(
"ok"
)
NewsDetailActivity
.
startNewsDetailActivity
(
mActivity
,
e
.
id
)
}
})
}
...
...
module_news/src/main/java/com/fly/tour/news/model/NewsDetailModel.kt
0 → 100644
浏览文件 @
0a319366
package
com.fly.tour.news.model
import
android.content.Context
import
com.fly.tour.common.mvp.BaseModel
import
com.fly.tour.db.dao.NewsDetailDao
import
com.fly.tour.db.entity.NewsDetail
import
com.fly.tour.news.contract.NewsDetailContract
/**
* Description: <NewsDetailModel><br>
* Author: mxdl<br>
* Date: 2020/2/17<br>
* Version: V1.0.0<br>
* Update: <br>
*/
/**
* Description: <NewsDetailModel><br>
* Author: mxdl<br>
* Date: 2020/2/17<br>
* Version: V1.0.0<br>
* Update: <br>
*/
class
NewsDetailModel
(
context
:
Context
)
:
BaseModel
(
context
),
NewsDetailContract
.
Model
{
private
var
mNewsDetailDao
:
NewsDetailDao
=
NewsDetailDao
(
context
)
override
fun
getNewsDetailById
(
id
:
Int
):
NewsDetail
?
{
return
mNewsDetailDao
.
getNewsDetailById
(
id
)
}
}
\ No newline at end of file
module_news/src/main/java/com/fly/tour/news/presenter/NewsDetailPresenter.kt
0 → 100644
浏览文件 @
0a319366
package
com.fly.tour.news.presenter
import
android.content.Context
import
android.os.Handler
import
com.fly.tour.common.mvp.BasePresenter
import
com.fly.tour.common.util.NetUtil
import
com.fly.tour.news.contract.NewsDetailContract
import
com.fly.tour.news.model.NewsDetailModel
/**
* Description: <NewsDetailPresenter><br>
* Author: mxdl<br>
* Date: 2020/2/17<br>
* Version: V1.0.0<br>
* Update: <br>
*/
class
NewsDetailPresenter
(
context
:
Context
):
BasePresenter
<
NewsDetailModel
,
NewsDetailContract
.
View
>(
context
),
NewsDetailContract
.
Presenter
{
override
fun
initModel
():
NewsDetailModel
{
return
NewsDetailModel
(
mContext
)
}
override
fun
getNewsDetailById
(
id
:
Int
)
{
mView
?.
showInitLoadView
()
Handler
().
postDelayed
(
Runnable
{
if
(!
NetUtil
.
checkNetToast
()){
mView
?.
showNetWorkErrView
()
return
@Runnable
}
var
newsDetail
=
mModel
?.
getNewsDetailById
(
id
)
if
(
newsDetail
!=
null
){
mView
?.
showViewDetail
(
newsDetail
)
}
else
{
mView
?.
showNoDataView
()
}
mView
?.
hideInitLoadView
()
},
1000
*
2
)
}
}
\ No newline at end of file
module_news/src/main/res/layout/activity_news_detail.xml
0 → 100644
浏览文件 @
0a319366
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<TextView
android:id=
"@+id/mTxtNewsDetailTitle"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:textColor=
"#2a2a2a"
android:layout_gravity=
"center"
android:layout_marginTop=
"20dp"
android:textStyle=
"bold"
android:textSize=
"18dp"
android:layout_marginLeft=
"30dp"
android:layout_marginRight=
"30dp"
android:singleLine=
"true"
android:gravity=
"center"
/>
<TextView
android:id=
"@+id/mTxtNewsDetailContent"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textColor=
"#2a2a2a"
android:layout_margin=
"20dp"
android:textSize=
"15sp"
android:lineSpacingExtra=
"10dp"
/>
</LinearLayout>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录