Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何修复android';非法国家例外';错误?_Java_Android_Android Studio - Fatal编程技术网

Java 如何修复android';非法国家例外';错误?

Java 如何修复android';非法国家例外';错误?,java,android,android-studio,Java,Android,Android Studio,我对android非常陌生,刚刚开始了解如何开发简单的应用程序(AndroidStudio,Ubuntu14.04,LG G3)。我想从一个主活动开始另一个活动(即显示一个不同的屏幕,用户可以在其中进行一些输入),如下所示。在文件MainActivity.java中,我有以下方法: @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case

我对android非常陌生,刚刚开始了解如何开发简单的应用程序(
AndroidStudio
Ubuntu14.04
,LG G3)。我想从一个主活动开始另一个活动(即显示一个不同的屏幕,用户可以在其中进行一些输入),如下所示。在文件
MainActivity.java
中,我有以下方法:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.menu_add:           
            Intent myIntent = new Intent(MainActivity.this, NewEntryActivity.class);
            MainActivity.this.startActivity(myIntent);
            return true;          
        default:
            return super.onOptionsItemSelected(item);
    }
}
文件
NewEntryActivity.java
的定义如下:

package com.example.alexander.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Button;
import android.widget.EditText;

public class NewEntryActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.content_newentry);

        final EditText editNewIsin = (EditText) findViewById(R.id.new_isin);
        final EditText editNewPrice = (EditText) findViewById(R.id.new_price);
        final EditText editNewNumber = (EditText) findViewById(R.id.new_number);
        Button buttonNewOk = (Button) findViewById(R.id.new_ok);
        Button buttonNewCancel = (Button) findViewById(R.id.new_cancel);


    }

}
此文件未显示任何错误(所有内容似乎都已正确定义)。当我在手机上启动应用程序时,主活动会毫无问题地启动,但当我选择菜单项启动其他活动时,应用程序会立即关闭,我看到一个错误:

Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity
但是,这两个活动都源自
AppCompatActivity
。可能它引用了其他内容(Manifest,layout.xml,…),但这在错误消息中并不清楚。在此感谢您的帮助

这也是清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.alexander.myapplication" >

    <application>
        android:allowBackup="true"
        android:icon="@mipmap/stoxx"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar" />     

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".NewEntryActivity"
            android:label="@string/menu_add"
        />

    </application>

</manifest>

android:allowBackup=“true”
android:icon=“@mipmap/stoxx”
android:label=“@string/app\u name”
android:supportsRtl=“true”
android:theme=“@style/theme.AppCompat.Light.darkaActionBar”/>

只需在其他活动中使用与主页相同的主题即可。像这样

    <activity
        android:name=".SecondActivity"
        android:label="@string/second"
        android:theme="@style/AppTheme.NoActionBar" >
    </activity>


清单中的活动主题是什么?我不知道。我在哪里可以看到?我可能没有定义一个…?活动/应用程序标记的清单文件我将整个清单文件内容添加到问题中。使用@style/Theme.AppCompat.Light.darkaActionBar而不是@style/ThemeOverlay.AppCompat.actionBar我的
styles.xml
文件中只有'style name=“AppTheme”“。但是当我替换这个和清单文件中的条目时,仍然会得到与以前相同的错误。请检查更新的答案。这对我有效,如果有效,请接受这个答案。谢谢,我是否需要将这个“AppTheme.NoActionBar”仅放在新活动中,或者也放在清单中的主应用程序中?我在styles.xml中定义了什么?为什么我需要三个地方来定义主题?为什么应用程序会因为主题而崩溃?这不正是图形的外观吗?那么这些主题之间有什么区别呢?我在哪里可以得到我所有问题的答案?