public void closeOptionsMenu () 
Since: API Level 1 Progammatically closes the options menu. If the options menu is already closed, this method does nothing. Activity里面的这个函数,关闭的是神马menu?

解决方案 »

  1.   

    就是按menu键调出的那个菜单,也就是onCreateOptionsMenu中建立的那个菜单
      

  2.   

    package com.bo;import android.app.Activity;
    import android.os.Bundle;
    import android.util.DisplayMetrics;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;public class HelloActivity extends Activity {
    private Button button = null;
    private TextView tx = null;
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            button = (Button)findViewById(R.id.button);
            button.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    HelloActivity.this.closeOptionsMenu();
    }
    });        
        }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    // TODO Auto-generated method stub
    menu.add(0, 1, 1, "about");
    menu.add(0,2,2,"exit");
    return super.onCreateOptionsMenu(menu);
    }
    @Override
    public boolean onMenuItemSelected(int featureId, MenuItem item) {
    // TODO Auto-generated method stub
    if(item.getItemId() == 1){
    Toast.makeText(HelloActivity.this, "about", Toast.LENGTH_SHORT).show();
    }
    else if(item.getItemId() == 2){
    Toast.makeText(HelloActivity.this, "exit", Toast.LENGTH_SHORT).show();
    }
    return super.onMenuItemSelected(featureId, item);
    }
    }我也是这么理解的,怎么没有效果呢?
      

  3.   

    public void closeOptionsMenu () 只是在你关闭某个菜单的时候所执行的方法。你只要把要执行的动作写在closeOptionsMenu () 方法里面。三楼是直接调用closeOptionsMenu这个方法,而这个方法里面本身是没有语句的所以不会有反应,你若重写下这个方法就会有反应的,三楼可以加如下代码:
    public void closeOptionsMenu() {
    // TODO Auto-generated method stub
    Toast.makeText(MainActivity.this, "closeOptionsMenu", Toast.LENGTH_SHORT)
    .show();

    }
    这样就会有反应,希望能帮到你