现在的位置: 首页 > 移动开发 > 正文

android 子菜单 通过配置文件生成

2019年07月20日 移动开发 ⁄ 共 2228字 ⁄ 字号 评论关闭

 

 

在res下新建menu/ editmenu.xml

<?xml version="1.0" encoding="utf-8"?>

<menu

    xmlns:android="http://schemas.android.com/apk/res/android">

    <item

        android:id="@+id/item04"

        android:title="撤销"/>

    <item

        android:id="@+id/item05"

        android:title="恢复"/>

 </menu>

 

 

 

在res下新建menu/ filemenu.xml

<?xml version="1.0" encoding="utf-8"?>

<menu

  xmlns:android="http://schemas.android.com/apk/res/android">

  <item

     android:id="@+id/item01"

     android:title="新建" />

  <item

     android:id="@+id/item02"

     android:title="打开" />

  <item

     android:id="@+id/item03"

     android:title="保存" />

</menu>

 

 

 

 

在MyMenuDemo.java程序中

package com.li.menu;

 

import android.app.Activity;

import android.os.Bundle;

import android.view.ContextMenu;

import android.view.ContextMenu.ContextMenuInfo;

import android.view.Menu;

import android.view.MenuItem;

import android.view.SubMenu;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.widget.Toast;

 

public class MyMenuDemo extends Activity {

  private String data[] = new String[]{

     "河池学院","http://blog.sina.com.cn/u/2853310902",

     "数学系:李叶文","中国高校","helloliyewen@163.com"};  //定义ListView的显示项

  private ListView listView = null;

  @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        this.listView = new ListView(this);

        this.listView.setAdapter(new ArrayAdapter<String>(this,

           android.R.layout.simple_expandable_list_item_1,

           this.data));

        super.setContentView(this.listView);

        super.registerForContextMenu(this.listView);

    }

  @Override

  public boolean onCreateOptionsMenu(Menu menu) {

     SubMenu fileMenu = menu.addSubMenu("文件");

     SubMenu edMenu = menu.addSubMenu("编辑");

    super.getMenuInflater().inflate(R.menu.filemenu,fileMenu);    

     super.getMenuInflater().inflate(R.menu.editmenu, edMenu);  

     return true;

  }

  @Override

  public boolean onOptionsItemSelected(MenuItem item) {

     switch(item.getItemId()){ //判断操作的菜单ID

     case Menu.FIRST + 1:

       Toast.makeText(this,"您选择的是“新建”项",Toast.LENGTH_LONG).show();

       break;

     case Menu.FIRST + 2:

       Toast.makeText(this,"您选择的是“打开”项",Toast.LENGTH_LONG).show();

     break;

     case Menu.FIRST + 3:

       Toast.makeText(this,"您选择的是“保存”项",Toast.LENGTH_LONG).show();

     break;

     }

     return false;

 

  }

 

 

}

抱歉!评论已关闭.