为什么活动不显示操作栏上的按钮?

时间:2014-03-05 18:41:29

标签: android webview android-actionbar-compat

我正在使用JavascriptInterface从webView开始活动。这是代码: 我将界面添加到webview:

    myWebView.addJavascriptInterface(new MyInterface (this), "MyInterface ");

这是MyInterface:

public class MyInterface {

MyActivity fatherActivity;

public MyInterface (){}


public MyInterface (MainActivity fatherActivity){
    this.fatherActivity=fatherActivity;
}

    @JavascriptInterface
public void open(){
        Intent intent = new Intent(fatherActivity, NewActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        Context ctx = fatherActivity.getApplicationContext();
        ctx.startActivity(intent);
        dialog.dismiss();

    }
}

这是res / menu / refMenu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
    android:id="@+id/menuRefresh"
    android:icon="@drawable/ic_menu_refresh"
    android:orderInCategory="1"
    android:showAsAction="ifRoom|withText"
    android:title="@string/action_refresh"/>

在NewActivity中,我把

   public class NewActivity extends ActionBarActivity {

    @Override
      public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu items for use in the action bar
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.refMenu, menu);
        return super.onCreateOptionsMenu(menu);
    }
 }

当然我在AndroidManifest中使用了支持的主题:

        <activity
        android:name="my.package.NewActivity"
        android:label="@string/title_activity_new"
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar" >
    </activity>

如果我将菜单放在我的第一个活动中,那就很顺利......但是在NewActivity中它没有显示。

你认为错在哪里?

UPDATE:似乎扩展ActionBarActivity可能会成为一个问题,因为如果我将第一个活动作为ActionBarActivity的子类,它既不会在操作栏上显示该项目。但我希望我的应用程序与Gingerbread兼容,所以我必须使用ActionBarActivity。任何解决方案?

已解决: android.support.v7 with `ActionBarActivity` no menu shows

0 个答案:

没有答案