Android使用ConstraintLayout 加载RecyclerView数据显示不全

今天学习KT的时候,发现的一个问题,现在做个笔记

在由于才学习kt,所以很多东西没办法想JAVA那样顺手,所以正在一步一步的填坑中。。。

先看问题:
我在List中添加了几条个人数据,然后再添加了20条数据,这样列表就能够滑动,
但是呢,结果发现RecyclerView 只显示了for循环的15条,第16条-20条都不见了 在这里插入图片描述

在这里插入图片描述
Activity的代码:


class MainActivity : AppCompatActivity() {

    var testList = ArrayList<String>()

    lateinit var testAdapter: KtReAdapter


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

        initRecycView()

    }

    private fun initRecycView() {
        testList.add("侧滑菜单功能界面")
        testList.add("TAB菜单功能界面")
        testList.add("ScrollingActivity功能界面")
        testList.add("FullscreenActivity功能界面")
        testList.add("SettingsActivity功能界面")
        for (i in 1..20) {
            testList.add("测试---"+i)
        }
        val mylayoutManager = LinearLayoutManager(this)
        re_view.layoutManager = mylayoutManager

        testAdapter = KtReAdapter(this, this.testList)
        re_view.adapter = testAdapter
    }
}

看到这个结果 我就纳闷了,为啥后面的数据没显示呢, 之后我就在
Adapter里面打印日志,结果发现数据是加载出来了,但是,但是并没有显示

Log日志

然后就到了找问题的时候了,现在数据没有问题 那么就是布局的问题了,我看了看布局,然后百度了一下 搜索了ConstraintLayout的属性说明 以及其中的含义 发现里一些有用的信息

  <androidx.recyclerview.widget.RecyclerView
    android:id="@+id/re_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_constraintTop_toBottomOf="@+id/img" />

我的RecyclerView的高度有问题 ,按照ConstraintLayout的属性说明,如果我的RecyclerView要完全占满下面的所有位置,可以把 高度设置为0,但是Y轴上面就要设置属性,所以我又加了一句

	  app:layout_constraintBottom_toBottomOf="parent"

OK,问题解决,重新设置一下RecyclerView的属性即可

 <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/re_view"
        android:layout_width="match_parent"
        //********** 修改的部分 *******
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        //********** 修改的部分 *******
        app:layout_constraintTop_toBottomOf="@+id/img" />

成功后的截图:

在这里插入图片描述

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章