Java 在Eclipse中添加操作栏时出现的Android问题
我试图按照教程为活动添加一个Java 在Eclipse中添加操作栏时出现的Android问题,java,android,eclipse,android-actionbar,Java,Android,Eclipse,Android Actionbar,我试图按照教程为活动添加一个Up按钮@ 以下是我的代码: // DisplayMessageActivity.java import android.support.v7.app.ActionBarActivity; //some other imports public class DisplayMessageActivity extends /*Activity*/ActionBarActivity { @SuppressLint("NewApi") @Override pro
Up
按钮@
以下是我的代码:
// DisplayMessageActivity.java
import android.support.v7.app.ActionBarActivity;
//some other imports
public class DisplayMessageActivity extends /*Activity*/ActionBarActivity {
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the message from the intent
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
// Set the text view as the activity layout
setContentView(textView);
// setContentView(R.layout.activity_display_message);
// Show the Up button in the action bar.
setupActionBar();
}
/**
* Set up the {@link android.app.ActionBar}, if the API is available.
*/
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void setupActionBar() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
getActionBar().setDisplayHomeAsUpEnabled(true);
}else{
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
// ...
}
我收到了以下错误消息
01-23 21:17:24.702: W/dalvikvm(292): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
01-23 21:17:24.712: E/AndroidRuntime(292): FATAL EXCEPTION: main
01-23 21:17:24.712: E/AndroidRuntime(292): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myfirstapp/com.example.myfirstapp.DisplayMessageActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
01-23 21:17:24.712: E/AndroidRuntime(292): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
01-23 21:17:24.712: E/AndroidRuntime(292): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
01-23 21:17:24.712: E/AndroidRuntime(292): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
01-23 21:17:24.712: E/AndroidRuntime(292): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
01-23 21:17:24.712: E/AndroidRuntime(292): at android.os.Handler.dispatchMessage(Handler.java:99)
01-23 21:17:24.712: E/AndroidRuntime(292): at android.os.Looper.loop(Looper.java:123)
01-23 21:17:24.712: E/AndroidRuntime(292): at android.app.ActivityThread.main(ActivityThread.java:4627)
01-23 21:17:24.712: E/AndroidRuntime(292): at java.lang.reflect.Method.invokeNative(Native Method)
01-23 21:17:24.712: E/AndroidRuntime(292): at java.lang.reflect.Method.invoke(Method.java:521)
01-23 21:17:24.712: E/AndroidRuntime(292): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-23 21:17:24.712: E/AndroidRuntime(292): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-23 21:17:24.712: E/AndroidRuntime(292): at dalvik.system.NativeStart.main(Native Method)
01-23 21:17:24.712: E/AndroidRuntime(292): Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
01-23 21:17:24.712: E/AndroidRuntime(292): at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:111)
01-23 21:17:24.712: E/AndroidRuntime(292): at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
01-23 21:17:24.712: E/AndroidRuntime(292): at com.example.myfirstapp.DisplayMessageActivity.onCreate(DisplayMessageActivity.java:20)
01-23 21:17:24.712: E/AndroidRuntime(292): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
01-23 21:17:24.712: E/AndroidRuntime(292): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
01-23 21:17:24.712: E/AndroidRuntime(292): ... 11 more
如以下文件所述:
在清单文件中,更新
元素或单个
元素以使用主题之一.AppCompat
主题。例如:
<activity android:theme="@style/Theme.AppCompat.Light" ... >