
初学Kotlin,按书本学的,学习过程中观前不顾后,看了后面看不到前面。以致走很多弯路。初学者都是这样的。有个老师指点一下一两句话的问题,而自己查找,要找好久才能找得到答案。尽管这些答案在高手看来是很低级的问题,都懒地回答。
我从MainActivity切换到gangban这个activity,程序是这样的:
class MainActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val bn_ban=findViewById<ImageButton>(R.id.ibtn_ban)
bn_ban.setOnClickListener {
val intent=Intent(this@MainActivity,gangban::class.java)
startActivity(intent)
}
}
}
程序运行没有问题,能够进入MainActivity界面,但是在点按钮时就会闪退,无法进入ganban这个界面。这两个界面的程序都没有问题,所以我第二个界面的程序就不贴了。我现在直接说问题出在哪里。
未配置AndroidManifest.xml这个文件。我的程序结构如下图所示:

最底下红色部分为界面,中间红色的为各界面对应的程序,而最上面就是我未配置的文件。默认代码是这样的:
<application
android:allowBackup="true"
android:icon="@drawable/logo"
android:label="重量计算器"
android:roundIcon="@drawable/logo"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
注意看里面,只有MainActivity,而没有我的gangban这个activity,在里面加上如下面代码就可以了:
<application
android:allowBackup="true"
android:icon="@drawable/logo"
android:label="重量计算器"
android:roundIcon="@drawable/logo"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".gangban">
</activity>
</application>
写得很详细了,希望对初学者有所帮助,少走弯路。