2014-12-24 1 views
0

Эй, ребята, когда я добавляю какое-либо действие в панель действий в андроид-студия, он просто говорит, что добавляет бонус приложения ..... Когда я добавил, что он говорит, чтобы изменить андроид на приложение и изменил это, но когда я запустил мое приложение, здесь нет панели действий, это мой xml и java-код. XMLОшибка из-за действия панели действий

<menu xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:android="http://schemas.android.com/apk/res/android" 

    > 
    <item 
     android:title="search" 
     android:icon="@drawable/ic_action_search" 
     android:id="@+id/search_icon" 
     android:text="search1" 
     android:showAsAction="always" 
    /> 

ява

public boolean onCreateOptionsMenu(android.view.Menu menu) { 
     MenuInflater i= getMenuInflater(); 
     i.inflate(R.menu.search_bar,menu); 
     return super.onCreateOptionsMenu(menu); 
    } 

приложение работает успешно, но без панели действий

когда я удалить эту функцию oncreateOptionMenu она по-прежнему не показывает каких-либо панель действий, но это показывает, на мой первая деятельность на самом деле это меню приложения здесь код

public class Menu extends Activity { 

    @Override 
    protected void onPostCreate(Bundle savedInstanceState) { 
     super.onPostCreate(savedInstanceState); 
     setContentView(R.layout.menu); 
    } 

    //@Override 
    /*public boolean onCreateOptionsMenu(android.view.Menu menu) { 
     MenuInflater i= getMenuInflater(); 
     i.inflate(R.menu.search_bar,menu); 
     return super.onCreateOptionsMenu(menu); 
    }*/ 
} 

и здесь проявляется

<application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/Base.Theme.AppCompat" > 
     <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> 
     <activity 
      android:name=".Menu" 
      android:label="@string/app_name" 
      android:theme="@style/Base.Theme.AppCompat.Light"> 
      <intent-filter> 
       <action android:name=".Menu" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 
+0

шоу манифест ...... – Elltz

+0

когда я удалить эту функцию oncreateOptionMenu она по-прежнему не показывает какие-либо действия, бара, но он показывает на моей первую деятельность на самом деле это меню приложения я добавил свой манифест, хотя спасибо за помощь –

+0

смените 'Base.Theme.AppCompat.Light' на' Theme.AppCompat.Light' на вашу активность в манифесте – Elltz

ответ

0

Сообщение точное сообщение, чтобы позволить более конкретный ответ.

showAsAction должны использовать ваше приложение пространства имен, т.е .:

xmlns:app="http://schemas.android.com/apk/res-auto" 
... 
app:showAsAction="always" 

Вы также должны убедиться, что вы используете тему AppCompat в вашем стиле приложений.

0

Темы appcompat удаляют родной ActionBar и используют поддержку ActionBar.

Вам нужно изменить

extends Activity 

Для

extends ActionBarActivity 

Кроме того, необходимо изменить Base.Theme.AppCompat.Light к Theme.AppCompat.Light в вашем AndroidManifest.

Пожалуйста, смотрите этот блог для получения дополнительной информации: http://android-developers.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html

+0

спасибо вам, что является решением моей проблемы –

+1

Ваш Добро пожаловать. Добро пожаловать в StackOverflow. Если мой ответ разрешил вашу проблему, не забудьте принять его. Если нет, сообщите нам, какие у вас другие проблемы. –

Смежные вопросы