数据列表没有显示在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设置固定大小
- 无法在Kotlin中构建发布版本
- ListView:平滑滚动到底部
- com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期的BEGIN_ARRAY,但在第1行第2列的路径
- 无法在build.gradle中添加一个kotlin项目的mysql连接器?
- 格式化当前语言环境的日期,添加周日
- Kotlin Android打印到控制台
- 为什么在OnFocusChangeListener中调用setText()会清除视图中的文本?
- 为什么Kotlin不能推断下面的lambda参数(在Java – > Kotlin转换之后)?
- Gradle kotlin不支持的方法Dependencies.getAtoms()