我是android的初学者,在现有项目中添加新类时,它没有运行并显示不幸的应用程序停止的消息。 这个问题的原因是什么?。我怎么解决它?。
我的清单
<activity
android:name="com.sentientit.theiWedplanner.parthi"
android:label="@string/title_activity_parthi" >
</activity>
</application>
</manifest>
我的活动
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class parthi extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_parthi);
}
}
08-07 12:12:38.530 28908-28908/com.sentientit.theiWedplanner D/AndroidRuntime﹕ Shutting down VM
08-07 12:12:41.562 28908-28908/com.sentientit.theiWedplanner E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.sentientit.theiWedplanner, PID: 28908
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sentientit.theiWedplanner/com.sentientit.theiWedplanner.parthi}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2314)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2388)
at android.app.ActivityThread.access$800(ActivityThread.java:148)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5312)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:152)
at android.support.v7.app.ActionBarActivityDelegateBase.onCreate(ActionBarActivityDelegateBase.java:149)
at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:123)
at com.sentientit.theiWedplanner.parthi.onCreate(parthi.java:13)
at android.app.Activity.performCreate(Activity.java:5953)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1128)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2388)
at android.app.ActivityThread.access$800(ActivityThread.java:148)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5312)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
答案 0 :(得分:3)
您需要将您的遗产从ActionBarActivity
更改为Activity
答案 1 :(得分:1)
使用“AppCompatActivity”扩展您的活动类。
在清单文件中添加您的活动类。
像:
<activity
android:name="packageName.className"/>
答案 2 :(得分:1)
你的logcat抛出
java.lang.RuntimeException:无法启动活动 ComponentInfo {com.sentientit.theiWedplanner / com.sentientit.theiWedplanner.parthi}: java.lang.IllegalStateException:您需要使用Theme.AppCompat 这个活动的主题(或后代)。
自版本22.1.0起,不推荐使用类ActionBarActivity。您应该使用AppCompatActivity或Activity或FragmentActivity
答案 3 :(得分:0)
我认为有两种方法可以解决这个问题:
将您的parthi
更改为Activity
或FragmentActivy
。
如果您仍希望从ActionBarActivity
扩展,请转到您的styles.xml,确保您的应用程序的样式具有以Theme.AppCompat.
开头的父项(在所有值中检查它)文件夹)或在清单中,为此活动添加主题:
<activity
android:name="com.sentientit.theiWedplanner.parthi}"
android:theme="@style/Theme.AppCompat" />
希望这有帮助。