2014-09-16 11 views
-1

Я создаю приложение, в котором есть кнопка на панели действий с именем About. Он должен ссылаться на одноименное действие с помощью метода замысла. Но это не работает.Намерение не работает в строке меню андроида

public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.main_activity_actions, menu); 
    return true; 
} 

public boolean onOptionItemSelected(MenuItem item){ 

    switch(item.getItemId()){ 

    case R.id.About: 
     Intent i = new Intent(this, About.class); 
     startActivity(i); 
     return true; 

    default:  
    return super.onOptionsItemSelected(item); 
      } 


} 

это код java, объявляющий действие, выполняемое при нажатии пользователем кнопки панели действий.

код XML, который создает кнопку выглядит следующим образом:

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


<item android:id="@+id/About" android:orderInCategory="100" 
    android:showAsAction="always" 
    android:title="About"/> 



</menu> 

Кнопка меню создается и кликабельна, но ни одно событие не происходит.

Содержание моего андроида манифеста файла:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.ted" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="14" 
    android:targetSdkVersion="18" /> 

    <application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.Holo.Light.DarkActionBar" > 
    <activity 
     android:name="com.example.ted.SplashPage" 
     android:label="@string/title_activity_splash_page" 
     android:theme="@style/MyCustomTheme" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name="com.example.ted.MainActivity" 
     android:label="@string/app_name" 
     android:parentActivityName="com.example.ted.MainActivity" 
     android:theme="@style/MyCustomTheme" > 
/



    </activity> 
    <activity 
     android:name="com.example.ted.DisplayMessageActivity" 
     android:label="@string/title_activity_display_message" 
     android:parentActivityName="com.example.ted.MainActivity" 
     android:theme="@style/MyCustomTheme" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.ted.MainActivity" /> 
    </activity> 
    <activity 
     android:name="com.example.ted.DisplayMessageActivity2" 
     android:label="@string/title_activity_display_message_activity2" 
     android:parentActivityName="com.example.ted.DisplayMessageActivity" 
     android:theme="@style/MyCustomTheme" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.ted.DisplayMessageActivity" /> 
    </activity> 
    <activity 
     android:name="com.example.ted.RSS" 
     android:label="@string/title_activity_rss" 
     android:parentActivityName="com.example.ted.MainActivity" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.ted.MainActivity" /> 
    </activity> 
    <activity 
     android:name="com.example.ted.About" 
     android:label="@string/title_activity_about" 
     android:parentActivityName="com.example.ted.MainActivity" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.ted.MainActivity" /> 
    </activity> 
</application> 

</manifest> 
+0

вы просто не можете иметь два Activies с тем же именем –

+0

который о чем вы говорите? –

+0

About.class и ваш основной актив –

ответ

1

изменить файл 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.ted.MainActivity" > 
    <item android:id="@+id/About" 
     android:title="About" 
     android:orderInCategory="100" 
     app:showAsAction="always" /> 
</menu> 
Смежные вопросы