我花了几个小时让Actionbar可见而没有成功:
使用我的RegisterActivity,我会收集一些登录数据然后启动MainActivity。在RegisterActivity中,我有一个Actionbar但没有MainActivity:
AndroidManifest:
<uses-sdk android:minSdkVersion="11" android:targetSdkVersion="17"/>
<application android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
>
<activity android:name="RegisterActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name="MainActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
android:theme="@android:style/Theme.Holo" >
</activity>
</application>
RegisterActivity:
...
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.putExtra("username", username);
i.putExtra("password", password);
startActivity(i);
...
MainActivity:
...
webview = new WebView(this);
setContentView(webview);
webview.loadUrl(address);
...
通常情况下应该有一个Actionbar但没有!
希望有人能解决我的问题?!
由于
答案 0 :(得分:4)
我解决了我的问题:
我的RegisterActivity扩展了Class Activity!我的MainActivity从Phonegap2.5.0(又名Apache Cordova)扩展了DroidGap类。
我更改了MainActivity,以便它扩展Activity,结果是ActionBar可见:D
当您需要DroidGap时,您必须插入
super.setBooleanProperty("showTitle", true);
在你打电话之前:
super.onCreate(savedInstanceState);
最后它看起来像这样:
public class MainActivity extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.setBooleanProperty("showTitle", true);
super.onCreate(savedInstanceState);
//More Code ....
答案 1 :(得分:1)
设置布尔属性ShowTitle的正确方法是使用config.xml中的首选项。
添加
<preference name="ShowTitle" value="true"/>
到config.xml以在Android上启用ActionBar。
答案 2 :(得分:0)
你确定没有行:
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
onCreate()方法中的?
尝试:
public void onCreate(Bundle savedInstanceState) {
this.requestWindowFeature(Window.FEATURE_ACTION_BAR);
super.onCreate(savedInstanceState);
...
setContentView(...);
...
或
...
this.requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
...