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" />

成功後的截圖:

在這裏插入圖片描述

在這裏插入圖片描述

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