1

我只是花了几个小时使 Actionbar 可见但没有成功:

通过我的 RegisterActivity,我收集了一些登录数据,然后启动 MainActivity。在 RegisterActivity 我有一个操作栏,但在 MainActivity 中没有:

安卓清单:

    <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>

注册活动:

...
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.putExtra("username", username);
i.putExtra("password", password);
startActivity(i);
...

主要活动:

...
    webview = new WebView(this);
    setContentView(webview);
    webview.loadUrl(address);
...

通常应该有一个操作栏,但没有!

只是希望有人能解决我的问题?!

谢谢

4

3 回答 3

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 ....
于 2013-04-05T14:35:21.927 回答
1

设置布尔属性 ShowTitle 的正确方法是使用 config.xml 中的首选项。

添加

<preference name="ShowTitle" value="true"/>

到 config.xml 以在 Android 上启用 ActionBar。

于 2015-04-23T08:53:46.407 回答
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);
...
于 2013-04-03T14:16:48.270 回答