意图问题在Android应用程序从Java到KOTLIN

09-22 11:14:21.804 13211-13211/com.example.balarajum.kotlin E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.balarajum.kotlin, PID: 13211 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.balarajum.kotlin/com.example.balarajum.kotlin.Main2Activity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2348) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2410) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1313) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5345) Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:742) 09-22 11:14:21.804 507-910/? W/ActivityManager: Force finishing activity 1 com.example.balarajum.kotlin/.Main2Activity 

这是我简单的Java活动 。 我正在通过我的Java意图Kotlin activity.Build是好的没有错误和应用程序也启动时,我也单击按钮Kotlin意图应用程序崩溃

 public class MainActivity extends Activity { private Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1 = (Button) findViewById(R.id.java_btn); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(MainActivity.this,Main2Activity.class)); } }); } } 

这是我的Kotlin intent活动

 class Main2Activity : AppCompatActivity() { override protected fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main2) var btn = findViewById(R.id.kotlin_btn); btn.setOnClickListener { startActivity(Intent(this@Main2Activity, MainActivity::class.java)) } } } 

你必须在你的风格中使用Appcompat主题。 确保你有这样的主题。

  <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> 

另外,检查你的manifest ,你有正确的主题。

尝试AppcompatActiviy而不是Activity 。像这样AppcompatActiviy代码。

 public class MainActivity extends AppcompatActiviy 

希望它有助于:)