getMenuinflater.inflate().inflate(R.menu.main, menu);表示什么含义,我是初学者,请不要鄙视我

女人的什么部位最吸引你?_恩阳吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:1,558贴子:
女人的什么部位最吸引你?收藏
本人喜欢女人的手 纤细光滑洁白!
冬天看遮到的,夏天看没遮到的。应该是腿然后是胸然后是脸然后是手。一般不看手
衣服,就是看一下适不适合她穿,也不非得是适合的,就是看一下穿着
眼睛飘过--小葵花妈妈课堂开课啦:孩子感冒,多半是装的,打一顿就好了 (¯『¯)
眼睛飘过--小葵花妈妈课堂开课啦:孩子感冒,多半是装的,打一顿就好了 (¯『¯)
[java]view plaincopy//长按计时器时,出现上下文菜单this.registerForContextMenu(timer);[java]view plaincopy//创建上下文菜单@OverridepublicvoidonCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo){super.onCreateContextMenu(menu, v, menuInfo);// ContextMenu的Item不支持Icon,所以不用再资源文件中,为它们设定图标if(v.getId() == R.id.chronometer){//加载xml菜单布局文件this.getMenuInflater().inflate(R.menu.main, menu);// 设定头部图标menu.setHeaderIcon(R.drawable.ic_launcher);// 设定头部标题menu.setHeaderTitle(& 计时器控制选项 &);}}//选择菜单项后的响应@OverridepublicbooleanonContextItemSelected(MenuItem item){switch(item.getItemId()){caseR.id.timer_start:// 将计时器清零timer.setBase(SystemClock.elapsedRealtime());//开始计时timer.start();caseR.id.timer_stop://停止计时timer.stop();caseR.id.timer_reset://将计时器清零timer.setBase(SystemClock.elapsedRealtime());}//return super.onContextItemSelected(item);}MainActivuty.java[java]view plaincopypackagecom.example.timer1;importandroid.os.Bimportandroid.os.SystemCimportandroid.app.Aimportandroid.view.ContextMimportandroid.view.ContextMenu.ContextMenuIimportandroid.view.Mimportandroid.view.MenuIimportandroid.view.Vimportandroid.widget.CpublicclassMainActivityextendsActivity {privateCfinalstaticintmenu_start = Menu.FIRST;finalstaticintmenu_stop = Menu.FIRST+1;finalstaticintmenu_setting = Menu.FIRST+2;@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 获得计时器对象timer = (Chronometer)this.findViewById(R.id.chronometer);//长按计时器时,出现上下文菜单this.registerForContextMenu(timer);}//创建上下文菜单@OverridepublicvoidonCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo){super.onCreateContextMenu(menu, v, menuInfo);// ContextMenu的Item不支持Icon,所以不用再资源文件中,为它们设定图标if(v.getId() == R.id.chronometer){//加载xml菜单布局文件this.getMenuInflater().inflate(R.menu.main, menu);// 设定头部图标menu.setHeaderIcon(R.drawable.ic_launcher);// 设定头部标题menu.setHeaderTitle(& 计时器控制选项 &);}}//选择菜单项后的响应@OverridepublicbooleanonContextItemSelected(MenuItem item){switch(item.getItemId()){caseR.id.timer_start:// 将计时器清零timer.setBase(SystemClock.elapsedRealtime());//开始计时timer.start();caseR.id.timer_stop://停止计时timer.stop();caseR.id.timer_reset://将计时器清零timer.setBase(SystemClock.elapsedRealtime());}//return super.onContextItemSelected(item);}publicbooleanonCreateOptionsMenu(Menu menu) {// I this adds items to the action bar if it is present.//getMenuInflater().inflate(R.menu.main, menu);menu.add(0,menu_start,0,&计时&);menu.add(0,menu_stop,1,&停止&);menu.add(0,menu_setting,2,&清零&);}publicbooleanonOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stub// return super.onOptionsItemSelected(item);switch(item.getItemId()){casemenu_start:// 将计时器清零timer.setBase(SystemClock.elapsedRealtime());//开始计时timer.start();casemenu_stop://停止计时timer.stop();casemenu_setting:timer.setBase(SystemClock.elapsedRealtime());}}}activity_main.xml[html]view plaincopy&RelativeLayoutxmlns:android=&xmlns:tools=&android:layout_width=&match_parent&android:layout_height=&match_parent&android:paddingBottom=&@dimen/activity_vertical_margin&android:paddingLeft=&@dimen/activity_horizontal_margin&android:paddingRight=&@dimen/activity_horizontal_margin&android:paddingTop=&@dimen/activity_vertical_margin&tools:context=&.MainActivity&&&TextViewandroid:id=&@+id/textView1&android:layout_width=&wrap_content&android:layout_height=&wrap_content&android:text=&@string/hello_world&/&&Chronometerandroid:id=&@+id/chronometer&android:layout_width=&wrap_content&android:layout_height=&wrap_content&android:layout_centerVertical=&true&android:layout_marginLeft=&23dp&android:layout_toRightOf=&@+id/textView1&android:format=&%s&android:textColor=&#00FF00&android:textSize=&80px&/&&/RelativeLayout&main.xml[html]view plaincopy&menuxmlns:android=&&&itemandroid:id=&@+id/timer_start&android:title=& 开始计时 &/&&itemandroid:id=&@+id/timer_stop&android:title=& 终止计时 &/&&itemandroid:id=&@+id/timer_reset&android:title=& 清零 &/&&/menu&
上中下!看上不满意就不看了!
登录百度帐号我的游戏推荐游戏
后查看最近玩过的游戏
为兴趣而生,贴吧更懂你。或Android发送跟接收自定义Broadcast
&来源:读书人网&【读书人网():综合教育门户网站】
Android发送和接收自定义BroadcastBroadcastReceiver意为广播接收,通过它可以实现进程间通信也可以实现进
Android发送和接收自定义BroadcastBroadcastReceiver意为广播接收,通过它可以实现进程间通信也可以实现进程内部进行通信,对于广播的消息我们只处理感兴趣的消息,可以接收系统的广播(短信、开机)也可以接收自定义的广播,但都需要注册才能接收,注册的方式又分两种,一是在AndroidMainfest.xml中注册,二是在代码中注册。BroadcastReceiver是一个抽象的类,我们需要继承它才能创建对象创建一个类ReceiveMsg.java继承BroadcastReceiver,并定义两个自定义的消息package com.example.import com.example.receivermsg.ReceiverMimport android.app.Aimport android.content.Iimport android.content.IntentFimport android.os.Bimport android.view.Mimport android.view.Vimport android.view.View.OnClickLimport android.widget.Bpublic class MainActivity extends Activity implements OnClickListener {private Button sendMsg =private Button sendReg =private ReceiverMsg receiver =@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);sendMsg = (Button) findViewById(R.id.sendMsg);sendReg = (Button) findViewById(R.id.sendRegMsg);sendMsg.setOnClickListener(this);sendReg.setOnClickListener(this);// 生成一个BroiadcastReceiver对象receiver = new ReceiverMsg();// 生成一个IntentFilter对象IntentFilter filter = new IntentFilter();// 为IntentFilter添加一个Actionfilter.addAction(ReceiverMsg.MSG);// 将BroadcastReceiver对象注册到系统当中registerReceiver(receiver, filter);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// I this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);}/** * 按钮监听 */@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubint id = arg0.getId(); // 用来区分点击的是哪个按钮if (id == R.id.sendMsg) {Intent intent = new Intent();intent.setAction(ReceiverMsg.MSG);sendBroadcast(intent);System.out.println(&send own msg&);} else if (id == R.id.sendRegMsg) {Intent intent = new Intent();intent.setAction(ReceiverMsg.REG_MSG);sendBroadcast(intent);System.out.println(&send reg msg&);}}}在onReceive中接收到感兴趣的消息就可以根据需要进行处理,比如更新播放进度、更新时间等操作。样例源码点击打开链接下次自动登录
现在的位置:
& 综合 & 正文
【Android 开发】:UI控件之 Menu 菜单的的使用(三)
上一讲 【Android 开发】: 我们讲解了创建上下文菜单的第一种使用方式:Creating a floating context menu [创建悬浮的上下文菜单],这一讲我们来讲解创建上下文菜单的第二种使用方式:Using
the contextual action mode [使用上下文动作模式],另外在本章末,我们也来学习一下弹出菜单
PopupMenu 的使用。
1. contextual action mode
contextual action mode 介绍
contextual action mode 是系统继承ActionMode所得,主要是获取用户的焦点来交互相关的动作。当用户选择一个选项就会启动这种模式,一个上下文的 ActionBar 就会出现在屏幕的上方来显示用户执行当前选项所获得上下文菜单。当这个模式启动的时候,用户可以选择多个选项(如果你需要的话),或者反选选项,还可以对齐进行导航(比如条状到其他的Activity),用户可以选择
Back 按钮来取消相关的操作,或者在这个bar栏的左端选择 Done 按钮。
注意:contextual action mode 与 action bar是没有必然关联的。这个操作是独立的,尽管这个 contextual action mode 看起来覆盖于 action bar 的位置。
如果你是在 Android 3.0 或者更高版本,你应该使用 contextual action mode 这种方式上下文菜单来代替 floating context menu.
对于可以提供上下文动作的控件来说,你通常有两种方式的触发事件来调用 contextual action mode:
1). 用户在这个控件中执行长按事件
2). 用户在这个视图中选择了 checkbox 或者类似UI的组件
应用在调用contextual action mode或者定义这种触发事件的动作往往依赖于你的设计。基本有以下两种设计
1). 在独立,专门的控件上使用 contextual action mode。
2). 在ListView 或者 GridView 上使用contextual action mode (用户可以选择多个选项)
启动Action Mode
如果想要调用 contextual action mode
当你选择了指定的控件之后,你应该:
1). 实现 ActionMode.Callback 接口,在它的回调接口中,你可以指定 这个上下文栏的动作,触发选项事件的反应,或者处理其他事件周期.
2). 调用 startActionMode() 当你想要显示这个条栏的话(相当于当用户长按这个视图)
1) 布局文件 activity_main.xml 只是定义一个按钮,这里就不再粘贴了。
2) 菜单定义文件 目录:res/menu 下 main.xml
&menu xmlns:android="/apk/res/android" &
android:id="@+id/share"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Share"/&
android:id="@+id/edit"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Edit"/&
android:id="@+id/delete"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Delete"/&
3). 程序主要代码
public class MainActivity extends Activity {
private Button button1;
private ActionMode actionM //使用 ActionMode 完成菜单操作
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initComponent();
//绑定用户的动作,注意这个事件必须是一个长按事件
button1.setOnLongClickListener(new OnLongClickListener() {
* 当你调用startActionMode()方法的时候,系统就会返回一个ActionMode的实例,保存在成员变量中,就可以通过改变上下文条栏来触发对应的事件
* 在下面的的例子中,ActionMode的判断是为了确保在它活动期间不会被重复的再创建,通过在创建实例的时候判断其是否为空。
* @see android.view.View.OnLongClickListener#onLongClick(android.view.View)
public boolean onLongClick(View v) {
if(actionMode != null) {
actionMode = startActionMode(mActionModeCallBack);
v.setSelected(true);
//这里面是一个匿名内部类
private ActionMode.Callback mActionModeCallBack = new ActionMode.Callback() {
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
public void onDestroyActionMode(ActionMode mode) {
// TODO Auto-generated method stub
//当我们不在使用菜单的时候, actionMode = null 在菜单销毁的时候置空
actionMode =
//表示我们要加载菜单,从XML中加载菜单
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
MenuInflater inflate = getMenuInflater();
inflate.inflate(R.menu.main, menu);
//返回true 表示加载成功。
//处理用户的相应动作
//表示从点击菜单选项中捕获用户的操作
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.edit:
Toast.makeText(MainActivity.this, "Edit", 3).show();
case R.id.share:
Toast.makeText(MainActivity.this, "share", 3).show();
case R.id.delete:
Toast.makeText(MainActivity.this, "delete", 3).show();
public boolean onCreateOptionsMenu(Menu menu) {
// I this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
private void initComponent(){
button1 = (Button)findViewById(R.id.button1);
3) 程序执行结果
PopupMenu 菜单的使用
PopupMenu 介绍
创建弹出菜单,它一般会在view的上边或者下边弹出菜单[具体看是否有空间],注意弹出菜单是api在11或者更高版本中使用
如果你在XML文件中定义了你的菜单,你就可以通过以下步骤来显示弹出菜单了:
1. 实例化一个 PopupMenu 通过它的构造方法,这样就可以把当前应用的 context 和 view 传给所定义的菜单了
2. 使用 MenuInflater 来加载菜单资源,通过 PopupMenu.getMenu() 得到一个 Menu 对象,如果是在 API 14 或者更高级,你可以通过 PopupMenu.inflate() 来代替了。
3. 调用 PopupMenu.show()。
1) 布局文件 activity_main.xml 只是定义一个按钮,这里就不再粘贴了。
2) 菜单定义文件 目录:res/menu 下 main.xml
&menu xmlns:android="/apk/res/android" &
android:id="@+id/share"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Share"/&
android:id="@+id/edit"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Edit"/&
android:id="@+id/delete"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Delete"/&
3) 程序主要代码
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initComponent();
//这种就不需要长按事件
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
//当前这个v就是 button2控件
PopupMenu popupMenu = new PopupMenu(MainActivity.this, v);
popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.edit:
Toast.makeText(MainActivity.this, "Edit", 3).show();
case R.id.share:
Toast.makeText(MainActivity.this, "share", 3).show();
case R.id.delete:
Toast.makeText(MainActivity.this, "delete", 3).show();
MenuInflater inflater = popupMenu.getMenuInflater();
inflater.inflate(R.menu.main, popupMenu.getMenu());
popupMenu.show();
public boolean onCreateOptionsMenu(Menu menu) {
// I this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
private void initComponent(){
button = (Button)findViewById(R.id.button1);
3) 执行结果
详情参考:
&&&&推荐文章:
【上篇】【下篇】◇本站云标签}

我要回帖

更多关于 onfinishinflate 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信