数据列表没有显示在Android应用程序的主要活动的回收站视图中,使用kotlin进行开发。

activity_main.xml代码:

   

RecyclerView在主要activity,list_row.xml代码中的数据列表:

          

主要活动代码在这里:

 class MainActivity : AppCompatActivity() { private var adapter : PersonListAdapter? = null private var layoutManager : RecyclerView.LayoutManager? = null private var personList : ArrayList? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) personList = ArrayList() layoutManager = LinearLayoutManager(this) adapter = PersonListAdapter(personList!!, this) //set up recycle view RecViewId.layoutManager = layoutManager RecViewId.adapter = adapter // loading data for(i in 1..15){ var person = Person() person.name = "Person " + i person.age = 21 + i } adapter!!.notifyDataSetChanged() } } 

适配器类“代码(存在于包名”数据“中)://适配器类用于在回收器视图中列表的膨胀布局并将数据解析到布局的域组件

 class PersonListAdapter(private var list : ArrayList, var context: Context) : RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): ViewHolder { val view = LayoutInflater.from(context).inflate(R.layout.list_row, parent, false) return ViewHolder(view) } override fun onBindViewHolder(holder: ViewHolder?, position: Int) { holder?.bindItem(list[position]) } override fun getItemCount(): Int { return list.size } class ViewHolder(itemView : View) : RecyclerView.ViewHolder(itemView) { fun bindItem(person: Person){ var Name : TextView = itemView.findViewById(R.id.NameTextView) as TextView var Age : TextView = itemView.findViewById(R.id.AgeTextView) as TextView Name.text = person.name Age.text = person.age.toString() } } } 

Person类“代码(存在于不同的包名称”Model“中):// class在主活动的Recycler视图的数据列表中显示的数据的布局

 class Person{ var name : String? = null var age : Int? = null } 

你只是创造人的对象。 这些对象需要被添加到personList。

  for(i in 1..15){ var person = Person() person.name = "Person " + i person.age = 21 + i personList.add(person) // Add person object to the list } 

你也没有正确地初始化上面的代码中的RecyclerView。

 //set up recycle view val recView = findViewById(R.id.RecViewId) recView.layoutManager = layoutManager recView.adapter = adapter 

让我们试试这个代码:

   

并为RecyclerView设置固定大小