操作栏选项未在Android Studio中显示

拉胡尔·瓦格玛尔(Rahul Waghmare)

在这里输入图片描述我是android的新手,现在我指的是udacity.com教程中的sunshine应用。代码是相同的,但是仍然没有显示选项设置,并且在操作栏上没有刷新。
如何解决我的问题?
主要活动。主菜单的Java代码

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new ForecastFragment())
                    .commit();
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

和ForecastFragment.java用于刷新菜单

public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.forecastfragment, menu);
}

主菜单xml文件代码

  <menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:tools="http://schemas.android.com/tools"
      tools:context="com.example.android.sunshine.app.MainActivity" >
      <item android:id="@+id/action_settings"
     android:orderInCategory="100" />
    app:showAsAction="never"
    android:title="@string/action_settings"
   android:orderInCategory="100" /></menu>

刷新菜单位于Forecastfragment.xml文件中,刷新菜单为

<item android:id="@+id/action_refresh"
    app:showAsAction="never"
    android:title="@string/action_refresh"
    android:orderInCategory="100" />

清单文件是

<application android:allowBackup="true"    
             android:icon="@drawable/ic_launcher"      
             android:label="@string/app_name"       
             android:theme="@style/AppTheme" >       
    <activity android:name=".MainActivity"           
              android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

style.xml文件

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
 <!-- Customize your theme here. -->   
<item name="android:icon">@drawable/ic_launcher</item>
</style>
<!--style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style-->
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
Shishram

用片段的onCreateView方法写

setHasOptionsMenu(true);

并将其添加super.onCreateOptionsMenu(menu, inflater);到您的onCreateOptionsMenu

public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    inflater.inflate(R.menu.forecastfragment, menu);
}

您可以在您的代码中添加以下代码 activity_main.xml

<android.support.v7.widget.Toolbar
        android:id="@+id/toolBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></android.support.v7.widget.Toolbar>

这在你的 MainActivity.java

Toolbar mToolbar = (Toolbar) findViewById(R.id.toolBar);
        setSupportActionBar(mToolbar);

您的完整档案MainActivity应如下所示

公共类MainActivity扩展了AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar mToolbar = (Toolbar) findViewById(R.id.toolBar);
    setSupportActionBar(mToolbar);

    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment())
                .commit();
    }
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}
public static class PlaceholderFragment extends Fragment {

    public PlaceholderFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_main, container, false);
        //setHasOptionsMenu(true);
        return rootView;
    }
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        super.onCreateOptionsMenu(menu, inflater);
        inflater.inflate(R.menu.menu_main, menu);
    }
}

}

如果要显示刷新菜单,则需要将此代码放在片段中 setHasOptionsMenu(true);

activity_main.xml可以像这样

<?xml version="1.0" encoding="utf-8"?>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white"
        android:orientation="vertical"
        android:paddingBottom="8dp"
        android:paddingLeft="20dp"
        android:paddingRight="20dp" >
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolBar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"></android.support.v7.widget.Toolbar>

        <FrameLayout
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context="com.example.android.sunshine.app.MainActivity"
            tools:ignore="MergeRootFrame" />


        </LinearLayout>

它应该工作...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

操作栏未在软糖豆中显示选项菜单

来自分类Dev

操作栏上的后退按钮未在Android中显示

来自分类Dev

操作栏未显示在Android Studio中

来自分类Dev

操作栏未在首选项活动中显示:Theme.Appcompat.Light.DarkActionBar

来自分类Dev

操作栏未在首选项活动中显示:Theme.Appcompat.Light.DarkActionBar

来自分类Dev

Android操作栏溢出菜单未在纵向模式下显示

来自分类Dev

Android操作栏溢出菜单未在纵向模式下显示

来自分类Dev

操作栏上的搜索视图未在 Android 中完全展开

来自分类Dev

Android Studio中的操作栏上的应用徽标未显示

来自分类Dev

Android Studio 中的操作栏菜单不会显示

来自分类Dev

操作栏上的Android选项菜单显示重复的图标

来自分类Dev

Android:确定片段中的选定操作栏选项卡

来自分类Dev

吐司未在Android Studio中显示

来自分类Dev

操作栏图标未显示在android操作栏中

来自分类Dev

操作栏图标未显示在android操作栏中

来自分类Dev

选项卡中不显示操作栏

来自分类Dev

应用程序图标未显示在操作栏中(Android Studio 1.0.1)

来自分类Dev

Android Studio 0.5.7不会在操作栏中显示按钮

来自分类Dev

Android Studio 0.5.7不会在操作栏中显示按钮

来自分类Dev

工具栏未在 Android 的 API 级别 19 中显示

来自分类Dev

Android如何突出显示所选操作栏选项卡的drawable

来自分类Dev

Android如何突出显示所选操作栏选项卡的drawable

来自分类Dev

在 Visual Studio Xamarin.Android 上选择活动操作栏选项卡

来自分类Dev

Android操作栏不会显示

来自分类Dev

Android操作栏不显示

来自分类Dev

Android Studio Gradle风格未在Build Variants中显示

来自分类Dev

Android Studio 2.0未在预览中显示菜单图标

来自分类Dev

android studio 视图未在设计模式中显示

来自分类Dev

图像未在 android studio 中与 Picasso 一起显示

Related 相关文章

  1. 1

    操作栏未在软糖豆中显示选项菜单

  2. 2

    操作栏上的后退按钮未在Android中显示

  3. 3

    操作栏未显示在Android Studio中

  4. 4

    操作栏未在首选项活动中显示:Theme.Appcompat.Light.DarkActionBar

  5. 5

    操作栏未在首选项活动中显示:Theme.Appcompat.Light.DarkActionBar

  6. 6

    Android操作栏溢出菜单未在纵向模式下显示

  7. 7

    Android操作栏溢出菜单未在纵向模式下显示

  8. 8

    操作栏上的搜索视图未在 Android 中完全展开

  9. 9

    Android Studio中的操作栏上的应用徽标未显示

  10. 10

    Android Studio 中的操作栏菜单不会显示

  11. 11

    操作栏上的Android选项菜单显示重复的图标

  12. 12

    Android:确定片段中的选定操作栏选项卡

  13. 13

    吐司未在Android Studio中显示

  14. 14

    操作栏图标未显示在android操作栏中

  15. 15

    操作栏图标未显示在android操作栏中

  16. 16

    选项卡中不显示操作栏

  17. 17

    应用程序图标未显示在操作栏中(Android Studio 1.0.1)

  18. 18

    Android Studio 0.5.7不会在操作栏中显示按钮

  19. 19

    Android Studio 0.5.7不会在操作栏中显示按钮

  20. 20

    工具栏未在 Android 的 API 级别 19 中显示

  21. 21

    Android如何突出显示所选操作栏选项卡的drawable

  22. 22

    Android如何突出显示所选操作栏选项卡的drawable

  23. 23

    在 Visual Studio Xamarin.Android 上选择活动操作栏选项卡

  24. 24

    Android操作栏不会显示

  25. 25

    Android操作栏不显示

  26. 26

    Android Studio Gradle风格未在Build Variants中显示

  27. 27

    Android Studio 2.0未在预览中显示菜单图标

  28. 28

    android studio 视图未在设计模式中显示

  29. 29

    图像未在 android studio 中与 Picasso 一起显示

热门标签

归档