#android #kotlin #android-activity #launch
Вопрос:
У меня есть два вида деятельности: викторины и основная ДеятЕльность2. Когда я настраиваю вопросы в фильтре намерений манифеста, приложение открывается и запускается нормально. Однако, когда я настраиваю свое приложение для открытия с помощью MainActivity2, оно вообще не инициализируется. Я просмотрел файлы бок о бок и не могу найти в них разницы, чтобы понять, почему один запустится, а другой нет.
Я совершенно новичок в Котлине, поэтому я уверен, что мне не хватает чего-то очень очевидного. Мы будем очень признательны за любую помощь.
Спасибо.
Вот мой манифест
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.crazywkids.officequiz">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.OfficeQuiz">
<activity
android:name=".QuizQuestions"
android:exported="true"
/>
<activity
android:name=".MainActivity2"
android:exported="true"
android:theme="@style/NoActionBarTheme"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Вот основная активность2
package com.crazywkids.officequiz
import android.content.Intent
import android.os.Bundle
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
class MainActivity2 : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
val beginBtn = findViewById<Button>(R.id.beginBtn)
beginBtn.setOnClickListener {
val intent = Intent(this, QuizQuestions::class.java)
startActivity(intent)
}
}
}
Вот вопросы-викторины
package com.crazywkids.officequiz
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
class QuizQuestions : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_quiz_questions)
val question=Constants.getQuestions()
Log.i("Question Size", "${question.size}")
}
}
Комментарии:
1. какую ошибку вы получили в logcat?
2. В журнале появится трассировка стека, которая сообщит вам, какая строка кода вызвала сбой и почему. Я предполагаю, что в макете, который вы установили в MainActivity2, нет кнопки с идентификатором
”beginBtn”
.3. Спасибо. Я посмотрел на logcat (на который я раньше не думал смотреть) и обнаружил на своем изображении исключение InflateException. Мне просто нужно было переместить свое изображение в папку для рисования на уровне проекта, и оно загрузилось нормально. Спасибо вам обоим за вашу помощь!