Как создать меню программно в Android?

теперь я хочу добавить его в меню в нижней части экрана. Я много писал об этом, но до сих пор не понял, как это сделать. Моя главная проблема в том, что у меня нет xml-файла на моей главной странице. его взгляд Ликс, что:

   public class start  extends ListActivity {
        static final String[] COUNTRIES = new String[] {
        "NEWS1", "NEWS2","RADIO"};
 Intent intent;
 public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, COUNTRIES));

      ListView lv = getListView();
      lv.setTextFilterEnabled(true);

      lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
if (((TextView) view).getText().equals("NEWS1")){
 intent = new Intent(start.this,  NewsActivity.class);

Как добавить меню с действием. пожалуйста, приведите мне пример. спасибо

5 ответов


Ya это нормально, если у вас нет XML-файла в вашей основной деятельности. Вы все еще можете добавить меню к нему, выполнив следующие шаги ->

  1. создайте XML-файл android и выберите меню в качестве типа(он будет храниться в папке меню папки res).
  2. теперь в вашем основном коде действия добавьте эти два метода ->

    public boolean onCreateOptionsMenu(Menu menu){
        getMenuInflater().inflate(R.menu.yourmenuxmlfilename, menu);
        return true;
    }
    public boolean onOptionsItemSelected(MenuItem item){
        switch(item.getItemId){
            case R.id.item1:
                // what you want to do with first button
                break;
            case .....
                break;
        }
        return true;
    }
    

используйте этот код для динамического добавления меню

private static final int NEW_MENU_ID=Menu.FIRST+1;

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);

        menu.add(0, NEW_MENU_ID, 0, "New"); 

        return true;
    }

для контекстного меню вы просто добавляете

            getListView().setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

                @Override
                public void onCreateContextMenu(ContextMenu menu, View v,
                        ContextMenuInfo menuInfo) {

                    menu.setHeaderTitle("Options");
                    menu.add("Option1");
                    menu.add("Option2");
                    menu.add("Option3");

                }
            });

контекстное меню просто появляется при длительном щелчке по элементу списка


в меню

создайте xml-файл android, который вы раздуваете в меню опций

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    new MenuInflater(this).inflate(R.layout.options, menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    //and your action for menu item click goes here

Как открыть диалог? бывший. когда нажмите "о программе", откроется диалоговое окно " сделано XXX, font16 и посетите: "http://www - ... ХХХ.ХХХ" в качестве гиперссылки ?

.с помощью этого кода:

private static final int NEW_MENU_ID=Menu.FIRST+1;


@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);

        menu.add(0, NEW_MENU_ID, 0, "ABOUT");


        return true;
    }