我尝试创建水平recyclerView和底部导航栏,我为RecyclerView创建了horizontal_card_item.xml、HorizontalView.kt (类)、DataSource.kt和HorizontalViewAdapter文件。
下面是我的主Activity.kt代码
class MainActivity(val myData: Array<String>) : AppCompatActivity() {
private lateinit var horizontalViewAdapter: HorizontalViewAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val navView: BottomNavigationView = findViewById(R.id.nav_view)
val navController = findNavController(R.id.nav_host_fragment)
// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
val appBarConfiguration = AppBarConfiguration(setOf(
R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications))
setupActionBarWithNavController(navController, appBarConfiguration)
navView.setupWithNavController(navController)
initRecyclerView()
addDataSet()
}
private fun initRecyclerView(){
val recycler_view = null
recycler_view.apply {
var layoutManager = LinearLayoutManager(this@MainActivity)
val topSpacingDecorator = TopSpacingItemDecoration(30)
addItemDecoration(topSpacingDecorator)
horizontalViewAdapter = HorizontalViewAdapter()
var adapter = horizontalViewAdapter
}
}
private fun addDataSet(){
val data = DataSource.createDataSet()
//HorizontalViewAdapter.SubmitList(data)
}
private fun addItemDecoration(topSpacingDecorator: TopSpacingItemDecoration) {
}
}这是我的应用程序显示的logcat错误
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.riddhi.rift, PID: 9780
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.riddhi.rift/com.riddhi.rift.MainActivity}: java.lang.InstantiationException: java.lang.Class<com.riddhi.rift.MainActivity> has no zero argument constructor
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2843)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.InstantiationException: java.lang.Class<com.riddhi.rift.MainActivity> has no zero argument constructor
at java.lang.Class.newInstance(Native Method)
at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:69)
at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:45)
at android.app.Instrumentation.newActivity(Instrumentation.java:1215)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2831)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 发布于 2020-06-07 03:50:23
class MainActivity(val myData: Array<String>) : AppCompatActivity() {应该是:
class MainActivity : AppCompatActivity() {activity类不能有参数。
https://stackoverflow.com/questions/62237170
复制相似问题