Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android应用程序中创建选项菜单_Android_Android Layout_Menuitem - Fatal编程技术网

如何在android应用程序中创建选项菜单

如何在android应用程序中创建选项菜单,android,android-layout,menuitem,Android,Android Layout,Menuitem,可能重复: 我已经尝试了所有的东西,但我不能创建选项菜单。你能给我完整的代码吗?我是否应该在清单文件中进行任何更改以创建菜单?我应该只为菜单创建另一个类,还是可以在以前创建的任何类中编写它?请帮帮我。我可以这样写吗: package com.example.FirstProject; import android.app.Activity; import android.app.ListActivity; import android.content.Intent; import andro

可能重复:

我已经尝试了所有的东西,但我不能创建选项菜单。你能给我完整的代码吗?我是否应该在清单文件中进行任何更改以创建菜单?我应该只为菜单创建另一个类,还是可以在以前创建的任何类中编写它?请帮帮我。我可以这样写吗:

package com.example.FirstProject;

import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.Toast;

//import android.widget.EditText;
//import android.widget.RadioButton;
//import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;



public class FirstProjectActivity extends Activity {
/** Called when the activity is first created. */
protected ListAdapter adapter;
Cursor cursor;
 protected String[] cities = {"Mumbai"};
 ListView lv ;
 ListView stations;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);      
}


public void myClickHandler(View view)
{
     Intent i=new Intent(this,City.class);
     startActivity(i);

}

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


@Override
public boolean onOptionsItemSelected(MenuItem item) {
     {
        if( R.id.icon==item.getItemId())     Toast.makeText(this, "You pressed the     icon!", Toast.LENGTH_LONG).show();

       if( R.id.icon==item.getItemId())      Toast.makeText(this, "You pressed the     text!", Toast.LENGTH_LONG).show();

       if( R.id.icon==item.getItemId())  Toast.makeText(this, "You pressed the      icon and text!", Toast.LENGTH_LONG).show();

    }
    return true;
}



}
试试这个

public boolean onOptionsItemSelected(MenuItem item)
    {
        System.out.println("entered to option selected");
        switch(item.getItemId())
        {

        case  R.id.icon:
            System.out.println("entered to icon");
            Toast.makeText(this, "icon clicked", Toast.LENGTH_LONG).show();
            break;

        case R.id.text:
            Toast.makeText(this, "text clicked", Toast.LENGTH_LONG).show();
            break;
        case R.id.iconandtext:
            Toast.makeText(this, "icon and text clicked", Toast.LENGTH_LONG).show();
            break;

        }
        return true;

    }

请参阅此链接。。此外,它也将非常有用,请使用如下代码:

 @Override
        public boolean onCreateOptionsMenu(Menu menu)
        {
         menu.add("Item1");
         menu.add("Item2");
         return true;
        }

您可以在menu.xml中使用以下代码

<?xml version="1.0" encoding="utf-8"?>
<menu
  xmlns:android="http://schemas.android.com/apk/res/android">
  <item
  android:id="@+id/menu1"
  android:alphabeticShortcut="s"
  android:title="menu1 title"
  />
  <item
  android:id="@+id/menu2"
  android:alphabeticShortcut="t"
  android:title="menu2 title"
  />
 </menu>
您可以同时使用调用菜单的方法。第一个是通过menu.add,第二个是通过膨胀menu.xml文件 现在,下面的代码使用itemselectedlistner

public boolean onOptionsItemSelected(MenuItem item){
    switch(item.getItemId()){
    case R.id.menu1:
        //  your code here
    case R.id.menu2:
        //   your code here
    }
    return false;
}

只需在开关盒中传递id,然后通过选择这些菜单执行任何操作

乍一看,我看不出那个代码有什么问题。你测试过了吗?它有用吗?它是否抛出错误?getItemId将返回您在menu.xml中编写的id
public boolean onOptionsItemSelected(MenuItem item){
    switch(item.getItemId()){
    case R.id.menu1:
        //  your code here
    case R.id.menu2:
        //   your code here
    }
    return false;
}