无尽的滚动kotlin回收视图/ ListView

我拼命尝试使用kotlin在Android应用程序上实现无尽的滚动。 所有的教程是无用的,因为他们没有正确解释的东西。 所以例如: https : //github.com/chetdeva/recyclerview-bindings

它看起来很有前途,但作者使用像“把这个在你的BindingAdapter”这样的短语,所以我看看这个BindingAdapter是什么,我发现了一个Java文件,但如果你插入任何东西,我会得到错误。 它像我尝试的任何东西直接失败。

其他的教程是用java编写的,甚至“翻译成kotlin”选项也没用,因为翻译的代码会抛出100个错误。

我尝试了这样的事情:

 setContentView(R.layout.activity_main) list.layoutManager = LinearLayoutManager(this) list.hasFixedSize() list.adapter = ListAdapter(this, getLists()) val list_view: RecyclerView = findViewById(R.id.list) fun setRecyclerViewScrollListener() { list_view.addOnScrollListener(object : RecyclerView.OnScrollListener() { override fun onScrolled(recyclerView: RecyclerView?, dx: Int, dy: Int) { val height = list_view.getHeight() val diff = height-dy if (diff < 1000){ /*load next list */ } } }) } setRecyclerViewScrollListener() } 

或这个

 val inflater = LayoutInflater.from(this@MainActivity) val layout = inflater.inflate(R.layout.append_list, null, false) button.setOnClickListener{screen.addView(layout)} 

有没有一个防弹的方法,你可以简单地追加元素像HTML和JS? 我在2分钟内写了这个片段。 在Android / Kotlin中有没有类似的“简单”方法?

 $("#next").click(function(){ $(".append_text").append("new text ") }) 
     

一般来说,我选择错误的布局会收到很多错误。 我试过Listview和Contrainlayout和回收布局和垂直滚动布局等等。 有一个简单的身体标记,你可以简单地追加一个XML文件?

我认为我整个过程都走错了路,因为我看到了网络的一切。 开发。 而android没有经典的DOM。 任何人都可以解释它给我一个最小的例子,如何附加一个XML文件的按钮点击/滚动主XML文件?

我使用这个metohd为kotlin的回收站添加无尽的滚动function:

 private fun setRecyclerViewScrollListener() { scrollListener = object : RecyclerView.OnScrollListener() { override fun onScrollStateChanged(recyclerView: RecyclerView?, newState: Int) { super.onScrollStateChanged(recyclerView, newState) val totalItemCount = recyclerView!!.layoutManager.itemCount if (totalItemCount == lastVisibleItemPosition + 1) { Log.d("MyTAG", "Load new list") recycler.removeOnScrollListener(scrollListener) } } } recycler.addOnScrollListener(scrollListener) } 

variableslastVisibleItemPosition声明如下:

private val lastVisibleItemPosition: Int get() = linearLayoutManager.findLastVisibleItemPosition()

 private lateinit var scrollListener: RecyclerView.OnScrollListener 

只要每次调用setRecyclerViewScrollListener()方法将此function添加到recyclerView。

希望能帮助到你,

莱昂纳多