2013-12-12 2 views
0

У меня есть основной проект и вопрос. Мой стартовый код - MainActivity.java, а принадлежащее ему меню - res/menu/main.xml. Вот содержание этого:Увольнение события при нажатии на меню в Android

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
<item 
    android:id="@+id/menu_add" 
    android:orderInCategory="100" 
    android:showAsAction="never" 
    android:title="@string/menu_add_planet"/> 

<item 
    android:id="@+id/menu_config" 
    android:orderInCategory="105" 
    android:showAsAction="never" 
    android:title="@string/menu_config_planet"/> 

Когда пользователь щелкает (или отводы) на добавить опцию планеты в меню, и я хочу, чтобы класс был activated.That класс NewPlanet .java Вот содержание этого:

import android.app.Activity; 

импорт android.os.Bundle;

общественный класс NewPlanet расширяет активность {

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_add); 

} 

}

Я предвижу, что должно быть обязательным между элементом элемента в Рез/меню/main.xml и newPlanet, но как? Спасибо заранее.

+0

Что вы подразумеваете под «Я хочу, чтобы класс был активирован»? – Mike

ответ

1

В вашей деятельности, с которого пользователь будет выбрать опцию add planet имеют следующие:

@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) { 
    Intent intent; 
    switch(item.getItemId()) { 

     case R.id.menu_add: 
      intent = new Intent(this, NewPlanet.class); 
      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
      this.startActivity(intent); 
      break; 

    } 
    return true; 
} 

Убедитесь, что вы имеете Action bar. Вы можете показать его, указав getActionBar().show(); в onCreate(). Также убедитесь, что у вас одновременно нет строки заголовка и панели действий.

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