android里能为下拉菜单设置监听事件么

最近做的一个数独游戏,点击newgame后弹出一个下拉菜单,然后再点击下拉菜单中的选项怎么跳转到数独游戏的界面。第二张图片怎么设置出来,然后点击第二张图片的按钮才会弹出第... 最近做的一个数独游戏,点击new game后弹出一个下拉菜单,然后再点击下拉菜单中的选项怎么跳转到数独游戏的界面。第二张图片怎么设置出来,然后点击第二张图片的按钮才会弹出第三张的内容。 展开
 我来答
oueraini
推荐于2016-01-23 · TA获得超过3062个赞
知道小有建树答主
回答量:358
采纳率:100%
帮助的人:104万
展开全部

Spinner组件的主要功能是用于进行下拉列表显示的功能,当用户选中下拉列表中的某个选项之后可以使用Spinner类中提供的setOnItemClickListener()方法进行监听。

下拉菜单监听范例:

package com.richard.onitemselectedlistener;  

  

import android.os.Bundle;  

import android.app.Activity;  

import android.view.Menu;  

import android.view.View;  

import android.widget.AdapterView;  

import android.widget.AdapterView.OnItemSelectedListener;  

import android.widget.ArrayAdapter;  

import android.widget.Spinner;  

  

public class MainActivity extends Activity {  

  

    private Spinner city = null;                                // 定义下拉列表框  

    private Spinner area = null;                                // 定义下拉列表框  

    private String[][] areaData = new String[][] {              // 定义联动菜单项  

            { "东城", "西城", "朝阳", "大兴", "平谷" },           // 第一级子选项  

            { "黄浦", "杨浦", "闵行" },                           // 第二级子选项  

            { "广州" } };                                     // 第三级子选项  

    private ArrayAdapter<CharSequence> adapterArea = null;        // 下拉列表内容适配器  

  

    @Override  

    public void onCreate(Bundle savedInstanceState) {  

        super.onCreate(savedInstanceState);                     // 父类onCreate()  

        super.setContentView(R.layout.activity_main);                   // 调用布局管理器  

        this.city = (Spinner) super.findViewById(R.id.city);    // 取得组件  

        this.area = (Spinner) super.findViewById(R.id.area);    // 取得组件  

        this.city.setOnItemSelectedListener(  

                new OnItemSelectedListenerImpl());              // 设置监听器   

    }  

  

    private class OnItemSelectedListenerImpl implements OnItemSelectedListener {  

        @Override  

        public void onItemSelected(AdapterView<?> adapterView, View view,  

                int position, long id) {                        // 选项选中时触发  

            MainActivity.this.adapterArea = new ArrayAdapter<CharSequence>(  

                    MainActivity.this,  

                    android.R.layout.simple_spinner_item,  

                    MainActivity.this.areaData[position]);  // 实例化列表项  

            MainActivity.this.adapterArea.setDropDownViewResource(  

                    android.R.layout.simple_spinner_dropdown_item); // 设置下拉列表显示风格  

            MainActivity.this.area  

                    .setAdapter(MainActivity.this.adapterArea); // 设置数据  

        }  

        @Override  

        public void onNothingSelected(AdapterView<?> adapterView) {   // 没有选项时触发  

        }  

    }  

      

    @Override  

    public boolean onCreateOptionsMenu(Menu menu) {  

        // Inflate the menu; this adds items to the action bar if it is present.  

        getMenuInflater().inflate(R.menu.main, menu);  

        return true;  

    }  

}  


匿名用户
推荐于2016-04-22
展开全部
我感觉你应该是照着书上打出来的吧,你找到Sudoku中的
private void startGame(int i){
Log.d(TAG, "clicked on" + i);
Intent intent = new Intent(Sudoku.this,Game.class);
intent.putExtra(Game.KEY_DIFFICULTY, i);
startActivity(intent);
}
这个函数,看看这个函数里都是谁用它了?是不是点击容易正常困难这个Dialog的时候调用了?然后你看函数里面的intent.putExtra(Game.KEY_DIFFICULTY, i);你点击的第几行?把这个i和Game.KEY_DIFFICULTY组成键值对传递到Intent intent = new Intent(Sudoku.this,Game.class);的Game中,然后Game的onCreate中接收并接着运行,如有不明,欢迎追问,如果明白了,希望采纳
追问
书上没有,现在代码还没有打全。老师让做的项目,各种问题出现。
追答
已发私信
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
买太狼
2015-11-11
知道答主
回答量:27
采纳率:0%
帮助的人:7.3万
展开全部
通过反编译framework.apk实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式