我對android非常陌生,剛開始瞭解如何開發簡單的應用程序(AndroidStudio
,Ubuntu 14.04
,LG G3)。從主要活動開始,我想要開始另一個活動(即,在this solution之後顯示用戶可以進行一些輸入的不同屏幕)。在文件MainActivity.java
我有以下方法:如何解決android'IllegalStateException'錯誤?
@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>
您在manifest中的活動的主題是什麼? – Fahim
我不知道。我在哪裏可以看到?我可能沒有一個定義...? – Alex
活動/應用程序標籤的清單文件 – Fahim