2017-04-07 43 views
0

我在我的Android应用程序创建底部菜单Android的 - 下面的类找不到

我已经在目录中创建的res/menu/option_menu.xml这样

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:tools="http://schemas.android.com/tools" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <item android:id="@+id/post_offer" 
     android:title="postoffer" 
     android:icon="@drawable/ic_launcher" 
     tools:ignore="HardcodedText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

    <item android:id="@+id/history" 
     android:title="history" 
     android:icon="@drawable/ic_launcher" 
     tools:ignore="HardcodedText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

    <item android:id="@+id/inbox" 
     android:title="inbox" 
     android:icon="@drawable/ic_launcher" 
     tools:ignore="HardcodedText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

    <item android:id="@+id/notifications" 
     android:title="notifications" 
     android:icon="@drawable/ic_launcher" 
     tools:ignore="HardcodedText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

    <item android:id="@+id/people" 
     android:title="people" 
     android:icon="@drawable/ic_launcher" 
     tools:ignore="HardcodedText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
</menu> 

然后我包括这个XML中activity_main.xml中和java

<include 
     layout="@menu/option_menu" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" /> 

与此Java

@Override 
    public boolean onCreateOptionsMenu(Menu menu){ 
     //MenuInflater inflater = getMenuInflater(); 
     //inflater.inflate(R.menu.option_menu, menu); 
     //return true; 
     getMenuInflater().inflate(R.menu.option_menu, menu); 
     return true; 
    } 
    @Override 
    public boolean onOptionsItemSelected(MenuItem item){ 
     switch (item.getItemId()){ 
      case R.id.post_offer: 
       startActivity(new Intent(this, RegisterActivity.class)); 
       return true; 
      default: 
       return super.onOptionsItemSelected(item); 
     } 

    } 

现在的问题是,当我尝试检查我在设计模式activity_main.xml中它显示这个以下错误

缺课

以下类找不到:

-Item(修复构建路径,编辑XML)

- 菜单(修复构建路径,编辑XML)

编辑

我使用

编译SDK版本:API 25:Android的7.1.1(牛轧糖)

生成工具版本:25.0.1

回答

2

然后我包括这个XML in activity_main.xml and java

你不应该那样做。按照原样离开menu xml布局,并像在onCreateOptionsMenu()中那样膨胀它。它应该工作。

+0

是它的工作原理!但它在顶部菜单中。我想在底部的这些菜单 – parish

+0

然后你是在错误的方向。你应该使用['BottonNavigationView'](https://developer.android.com/reference/android/support/design/widget/BottomNavigationView.html),它是完全不同的组件。 – azizbekian

+0

那么我指的是这篇文章https://code.tutsplus.com/tutorials/android-sdk-implement-an-options-menu--mobile-9453 ...让我试试你说的@BottonNavigationView – parish

0

的问题是,<include>标签仅适用于布局XML(那些延长View但菜单肯定不能做到这一点)