ViewHolder的 item
<?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:orientation="vertical"
android:background="@drawable/bg_corner_4_white"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/topicTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/x16"
tools:text="WeChat: the most powerful app in"
android:textColor="@color/c_2b2d44"
android:textSize="@dimen/text_size_16"/>
</LinearLayout>
Bean
/**
* @Author:zhangchenzhou
* @Date: 2019/9/9 16:36
*@Description:
*/
data class SelectTopicBean(var title:String)
ViewHolder
import android.support.v7.widget.RecyclerView
import android.view.View
import android.widget.TextView
/**
* @Author:zhangchenzhou
* @Date: 2019/9/9 16:30
*@Description:
*/
class SelectTopicVH(itemView: View) : RecyclerView.ViewHolder(itemView){
var text: TextView? = null
init {
text = itemView.findViewById<TextView>(R.id.topicTitle)
}
}
Adapter
/**
* @Author:zhangchenzhou
* @Date: 2019/9/9 16:36
*@Description:
*/
data class SelectTopicBean(var title:String)
activity的xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.Toolbar
android:id="@+id/common_toolbar"
android:layout_width="match_parent"
android:layout_height="51dp"
android:background="@drawable/bg_toolbar"
android:fitsSystemWindows="true">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="end"
android:gravity="center"
android:maxEms="10"
android:maxWidth="@dimen/x239"
android:singleLine="true"
android:textColor="@color/black1"
android:textSize="@dimen/x16"
android:textStyle="bold" />
</android.support.v7.widget.Toolbar>
<android.support.v7.widget.RecyclerView
android:id="@+id/topicList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/mLlShowAll"
android:layout_below="@+id/common_toolbar"
android:cacheColorHint="@color/transparent"
android:divider="@null"
android:listSelector="@color/transparent"
android:scrollbars="none" />
</LinearLayout>
Activity的View
import com.k.a.model.SelectTopicBean
import com.k.a.mvp.IView
/**
* @Author:zhangchenzhou
* @Date: 2019/9/9 16:20
*@Description:
*/
interface ITopicView: IView {
fun setDatas(list:MutableList<SelectTopicBean>)
}
Activity
import android.os.Bundle
import com.k.a.BaseActivity
import com.k.a.R
import com.k.a.model.SelectTopicBean
import com.k.a.view.TryCatchLayoutManager
import com.k.a.vipcoach.selecttopic.adapter.SelectTopicAdapter
import com.k.a.vipcoach.selecttopic.presenter.ImplSelectTopicPresenter
import com.k.a.vipcoach.selecttopic.view.ITopicView
import kotlinx.android.synthetic.main.activity_select_topic.*
/**
* @Author:zhangchenzhou
* @Date: 2019/9/9 15:26
*@Description:
*/
class SelectTopicActivity :BaseActivity(), ITopicView {
override fun getContentViewLayoutID() = R.layout.activity_select_topic
var mAdapter:SelectTopicAdapter= SelectTopicAdapter(this)
var mPresenter:ImplSelectTopicPresenter= ImplSelectTopicPresenter()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
initView()
initData()
}
fun initView(){
topicList.layoutManager = TryCatchLayoutManager(this)
}
fun initData(){
commonPperation.setTitle(getString(R.string.topic_title))
mPresenter.attachView(this)
mPresenter.getList()
}
override fun setDatas(list: MutableList<SelectTopicBean>) {
mAdapter.setList(list)
topicList.adapter = mAdapter
}
}
presenter接口
import com.k.android.mvp.BasePresenter
import com.k.android.vipcoach.selecttopic.view.ITopicView
/**
* @Author:zhangchenzhou
* @Date: 2019/9/9 16:24
*@Description:
*/
abstract class AbsSelectTopicPresenter: BasePresenter<ITopicView>() {
abstract fun getList()
}
presenter实现类
import com.k.android.model.SelectTopicBean
/**
* @Author:zhangchenzhou
* @Date: 2019/9/9 16:26
*@Description:
*/
class ImplSelectTopicPresenter :AbsSelectTopicPresenter(){
override fun getList() {
var a:MutableList<SelectTopicBean> = mutableListOf()
for(i in 1..10){
a.add(SelectTopicBean("WeChat: the most powerful app in the world?"))
}
view.setDatas(a)
}
}