setLayoutManager в kotlin - PullRequest
       9

setLayoutManager в kotlin

0 голосов
/ 20 января 2020

Как определить макет менеджера для RecycleView с помощью kotlin? Код ниже не предлагает ошибок, но он не выполняет упомянутую часть.

class MainActivity : AppCompatActivity() {

    var mRecyclerView: RecyclerView? = null
    var myAdapter: MyAdapter? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //RecyclerView
        mRecyclerView = recyclerView_tweets as RecyclerView?
        mRecyclerView?.layoutManager = LinearLayoutManager(this) //create recyclerView in LinearLayoutManager


        myAdapter = MyAdapter(this, getMyList())
        mRecyclerView?.adapter = myAdapter

    }

    private fun getMyList(): ArrayList<Tweet>? {
        val tweets: ArrayList<Tweet> = ArrayList()

        val t = Tweet()
        t.name = "John"
        t.tweet = "Things and more things"
        tweets.add(t)

        return tweets
    }
}

Ответы [ 2 ]

2 голосов
/ 21 января 2020

Для менеджера линейной компоновки

mRecyclerView.layoutManager=LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false)

Для менеджера компоновки сетки

mRecyclerView.layoutManager = GridLayoutManager(this, 3)

0 голосов
/ 21 января 2020

Вы должны определить этот путь в файле xml.

<android.support.v7.widget.RecyclerView
    xmlns:app="http://schemas.android.com/apk/res-auto"
    app:layoutManager="android.support.v7.widget.LinearLayoutManager" >

А также вы использовали программно этот способ: -

mRecyclerView?.layoutManager = LinearLayoutManager(this,LinearLayoutManager.Horizontal,false)
...