51a66052fce06957109047893b1317da.png

初学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这个文件。我的程序结构如下图所示:

fcae3de5b8ec8845db018b305588c867.png

最底下红色部分为界面,中间红色的为各界面对应的程序,而最上面就是我未配置的文件。默认代码是这样的:

<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>

写得很详细了,希望对初学者有所帮助,少走弯路。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐