有时我们想简单测试一些东西,用一个 demo 展示一个列表,如果从头用 listView、RecyclerView 来设置,会显得很繁琐。这时可以使用 ListActivity 来直接展示一个 List。
class MyListActivity : ListActivity() {
val data = listOf("今天", "明天", "后天")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val arrayAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, data)
listAdapter = arrayAdapter
}
override fun onListItemClick(l: ListView?, v: View?, position: Int, id: Long) {
Toast.makeText(this, data[position], Toast.LENGTH_SHORT).show()
}
}
这样就好了,不用编写 layout 布局,也不用 findView。
如果是作为一个中转页的话,还可以使用 LauncherActivity,它继承了 ListActivity,可以用来启动其他 Activity。
class MyLauncherActivity : LauncherActivity() {
private val name = arrayOf(
"launchTimeTest",
"finishTest",
"ANRTest"
)
private val clazzs = arrayOf(
LaunchTimeActivity::class.java,
FinishActivity::class.java,
AnrActivity::class.java
)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val adapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, name)
listAdapter = adapter
}
override fun intentForPosition(position: Int): Intent {
return Intent(this, clazzs[position])
}
}