操作菜单项Click事件 - 机器人 [英] Handling a Menu Item Click Event - Android

查看:148
本文介绍了操作菜单项Click事件 - 机器人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个启动一次单击菜单项新活动的意图,但我不知道如何做到这一点。我一直在读通过Android的文件,但我的实现不是correct..and在正确的方向上迈出了指导将帮助。我列出我的code以下,并评论了我的问题所在,我想我调用了错误的方法。

 包com.jbsoft.SimpleFlashlight;

进口android.app.Activity;
进口android.content.Intent;
进口android.os.Bundle;
进口android.view *。
进口android.view.MenuItem.OnMenuItemClickListener;
进口android.widget.Button;
进口android.widget.Toast;

公共类SimpleFlashLightActivity延伸活动{


  按钮GreenButton; //声明按钮以后使用实例
  按钮BlueButton;

  私有静态最终诠释OK_MENU_ITEM = Menu.FIRST;

  / **第一次创建活动时调用。 * /
  @覆盖
  公共无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.main);

    BlueButton =(按钮)findViewById(R.id.bluebutton);
    BlueButton.setOnClickListener(新View.OnClickListener(){

      公共无效的onClick(视图v){

        //当用户点击蓝色按钮显示味精
        showColorChangeMsg();

        在点击//交换机的活动
        意图blueintent =新的意图(SimpleFlashLightActivity.this,
                                       BlueFlashLightActivity.class);
        startActivity(blueintent);

      }
    });
    //安装监听器的第二个按钮
    GreenButton =(按钮)findViewById(R.id.greenbutton);
    GreenButton.setOnClickListener(新View.OnClickListener(){

      公共无效的onClick(视图v){

        //当用户点击绿色按钮显示味精
        showColorChangeMsg();

        意图greenintent =新的意图(SimpleFlashLightActivity.this,
                                               GreenFlashLightActivty.class);
        startActivity(greenintent);

      }
    });

    ;

    / ******************* ********* /

    //方法声明//这是我有一个问题

    菜单项AddColorButton =(菜单项)findViewById(R.id.menu_insert);

    布尔onOptionsItemSelected(AddColorButton){
      意向意图=新的意图(SimpleFlashLightActivity.this,
                                  BlueFlashLightActivity.class);
      startActivity(意向);
      返回true;
      ;
    };
    / ******************* ************ /

  }
  私人无效showColorChangeMsg()
  {
    吐司msgtoast = Toast.makeText(this.getBaseContext(),开关颜色!
                                    Toast.LENGTH_LONG);
    msgtoast.show();
  }
  私人无效showMsg(弦乐味精){
    吐司面包= Toast.makeText(这一点,味精,Toast.LENGTH_LONG);
    toast.show();
  }

  公共布尔onCreateOptionsMenu(功能菜单){
    super.onCreateOptionsMenu(菜单);
    MenuInflater MI = getMenuInflater();
    mi.inflate(R.menu.list_menu,菜单);
    返回true;

  }

  @覆盖
  公共布尔onOptionsItemSelected(菜单项项){
    开关(item.getItemId()){
    案例OK_MENU_ITEM:
      showMsg(OK);
      打破;
    }
    返回super.onOptionsItemSelected(项目);
  }

}
 

解决方案

简单$ C $下创建菜单。

  @覆盖
公共布尔onCreateOptionsMenu(功能菜单){
    MenuInflater充气= getMenuInflater();
    inflater.inflate(R.menu.game_menu,菜单);
    返回true;
}
 

简单$ C $下菜单中选择

  @覆盖
公共布尔onOptionsItemSelected(菜单项项){
    //处理项目选择
    开关(item.getItemId()){
    案例R.id.new_game:
        新游戏();
        返回true;
    案例R.id.help:
        使用showHelp();
        返回true;
    默认:
        返回super.onOptionsItemSelected(项目);
    }
}
 

有关详细请点击以下链接。

链接1

链路2

I want to create an intent that starts a new activity once a Menu Item is clicked, but I'm not sure how to do this. I've been reading through the android documentation, but my implementation isn't correct..and some guidance in the right direction would help. I've listed my code below and commented out my problem areas, I think I'm invoking the wrong method.

package com.jbsoft.SimpleFlashlight;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.*;
import android.view.MenuItem.OnMenuItemClickListener;
import android.widget.Button;
import android.widget.Toast;

public class SimpleFlashLightActivity extends Activity {


  Button GreenButton;   // Declare instances of buttons to use later
  Button BlueButton;

  private static final int OK_MENU_ITEM = Menu.FIRST;

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    BlueButton = (Button) findViewById(R.id.bluebutton);
    BlueButton.setOnClickListener(new View.OnClickListener() {

      public void onClick(View v) {

        //Display msg when user clicks Blue Button
        showColorChangeMsg();

        // Switch Activities on click
        Intent blueintent = new Intent(SimpleFlashLightActivity.this,
                                       BlueFlashLightActivity.class);
        startActivity(blueintent);

      }
    });
    //Install listener for second button
    GreenButton = (Button) findViewById(R.id.greenbutton);
    GreenButton.setOnClickListener(new View.OnClickListener() {

      public void onClick(View v) {

        // Display msg when user clicks Green Button
        showColorChangeMsg();

        Intent greenintent = new        Intent(SimpleFlashLightActivity.this,
                                               GreenFlashLightActivty.class);
        startActivity(greenintent);

      }
    });

    ;

    /**************************************************************************************/

    // Method Declarations // THIS IS WHERE I'M HAVING A PROBLEM

    MenuItem AddColorButton = (MenuItem)findViewById(R.id.menu_insert);

    boolean onOptionsItemSelected(AddColorButton) {
      Intent intent = new  Intent(SimpleFlashLightActivity.this,
                                  BlueFlashLightActivity.class);
      startActivity(intent);
      return true;
      ;
    };
    /****************************************************************************************/

  }
  private void showColorChangeMsg()
  {
    Toast msgtoast = Toast.makeText(this.getBaseContext(), "SWITCH COLOR!",
                                    Toast.LENGTH_LONG);
    msgtoast.show();
  }
  private void showMsg(String msg) {
    Toast toast = Toast.makeText(this, msg, Toast.LENGTH_LONG);
    toast.show();
  }

  public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    MenuInflater mi = getMenuInflater();
    mi.inflate(R.menu.list_menu, menu);
    return true;

  }

  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case OK_MENU_ITEM:
      showMsg("OK");
      break;
    }
    return super.onOptionsItemSelected(item);
  }

}

解决方案

simple code for creating menu..

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

simple code for menu selected

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.new_game:
        newGame();
        return true;
    case R.id.help:
        showHelp();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}

for more detail go below link..

Link1

Link2

这篇关于操作菜单项Click事件 - 机器人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆