关于actionbar和popupmenu结合的实例
来源:互联网 发布:属下知罪by枯目腐书 编辑:程序博客网 时间:2024/05/17 01:22
package com.example.actionbartest;import java.util.ArrayList;import java.util.List; import android.os.Bundle;import android.annotation.SuppressLint;import android.app.Activity;import android.util.Log;import android.view.ContextMenu;import android.view.ContextMenu.ContextMenuInfo;import android.view.KeyEvent;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnCreateContextMenuListener;import android.widget.AdapterView;import android.widget.AdapterView.AdapterContextMenuInfo;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.ListView;import android.widget.PopupMenu;import android.widget.PopupMenu.OnMenuItemClickListener;import android.widget.Toast; /** * * menu 的简单使用 * * * * @date 2013-12-30 上午9:55:29 */public class MainActivity extends Activity implements OnMenuItemClickListener, OnCreateContextMenuListener, OnItemClickListener { private ListView listview; PopupMenu mPopupMenu; static View mViewItem; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mViewItem = findViewById(R.id.item3);// final Button btn = (Button)findViewById(R.id.showpop);//// // btn.setOnClickListener(new OnClickListener(){////@Override//public void onClick(View arg0) {//// TODO Auto-generated method stub//showpop(btn);//}//// // });// listview = (ListView) findViewById(R.id.listView1);// List<String> list = new ArrayList<String>();// for (int i = 0; i < 20; i++) {// // list.add(i+ "");// }// listview.setAdapter(new ArrayAdapter<String>(this,// android.R.layout.simple_list_item_1, list));// // listview.setOnItemClickListener(this); } /** * 创建popviewMenu * * @param v */ public void showpop(View v) { PopupMenu popup = new PopupMenu(this, v); MenuInflater inflater = popup.getMenuInflater(); inflater.inflate(R.menu.main, popup.getMenu()); popup.setOnMenuItemClickListener(this); popup.show(); //return popup; } public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_MENU) { // 在这里做你想做的事情// super.openOptionsMenu(); // 调用这个,就可以弹出菜单 Log.e("jihui----","onkey----menu"); Log.e("jihui---onKeyDownbe","mViewItem = " + mViewItem); mViewItem = findViewById(R.id.item3); Log.e("jihui---onKeyDownaf","mViewItem = " + mViewItem); showpop(mViewItem); }return true; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. menu.add(0, 0, 0, "22"); getMenuInflater().inflate(R.menu.main, menu); mViewItem = findViewById(R.id.item3); Log.e("jihui---onCreateOptionsMenu","mViewItem = " + mViewItem); //mPopupMenu = showpop(findViewById(R.id.item3)); return true; } /* * (non-Javadoc) * * @see android.app.Activity#onOptionsItemSelected(android.view.MenuItem) */ @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.item1: Toast.makeText(this, "you have clicked 1111" , 0).show(); break; case R.id.item2: Toast.makeText(this, "you have clicked 22222" , 0).show(); break; case R.id.item3: //mPopupMenu.show(); mViewItem = findViewById(item.getItemId()); Log.e("jihui---onPtion","mViewItem = " + mViewItem); showpop(mViewItem); Toast.makeText(this, "you have clicked 33333" , 0).show(); break; case R.id.item4: Toast.makeText(this, "you have clicked 44444" , 0).show(); break; default: break; } return super.onOptionsItemSelected(item); } /** * 响应popmenu的点击事件 */ @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { case R.id.item1: Toast.makeText(this, "you have clicked 12222" , 0).show(); break; case R.id.item2: Toast.makeText(this, "you have clicked 2222211" , 0).show(); break; case R.id.item3: Toast.makeText(this, "you have clicked 3222222" , 0).show(); break; case R.id.item4: Toast.makeText(this, "you have clicked 4222222" , 0).show(); break; default: break; } return false; } /** * listview响应事件 */ @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main, menu); } // @Override// public boolean onContextItemSelected(MenuItem item) {// AdapterContextMenuInfo info = (AdapterContextMenuInfo) item// .getMenuInfo();// switch (item.getItemId()) {// case R.id.item1:// Toast.makeText(this, "you have clicked 133333333" , 0).show();// return true;// case R.id.item2:// Toast.makeText(this, "you have clicked 2333333333" , 0).show();// return true;// case R.id.item3:// Toast.makeText(this, "you have clicked 333333333333333333333333" , 0).show();// return true;// case R.id.item4:// Toast.makeText(this, "you have clicked 43333333333333" , 0).show();// return true;// default:// return super.onContextItemSelected(item);// }// }@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {// TODO Auto-generated method stubregisterForContextMenu(arg1);}}
有图有真相
0 0
- 关于actionbar和popupmenu结合的实例
- ActionBar PopupMenu
- 关于ActionBar Tab与ListFragment的结合
- 用Android 关于PopupMenu的
- 用Android 关于PopupMenu的
- 关于matlab GUI的popupmenu
- ActionBar + ActionProvider + PopupMenu
- PopupMenu和ActionMode的使用
- ListPopupWindow 和 PopupMenu的使用
- DrawerLayout抽屉和ActionBar结合
- 关于ActionBar的使用和错误处理
- 关于菜单和ActionBar的总结
- 关于Toolbar和ActionBar的一些坑
- ActionBar和Fragment结合ViewPager实现TabActivity
- ActionBar和Fragment结合ViewPager实现TabActivity
- ActionBar和Fragment结合ViewPager实现TabActivity
- ActionBar和Fragment结合ViewPager实现TabActivity
- ActionBar和Fragment结合ViewPager实现TabActivity
- 数据结构实验之栈四:括号匹配
- CDN
- 21行Python写出拼写检查器
- LightOJ 1370(欧拉函数)
- Detect if two integers have opposite signs
- 关于actionbar和popupmenu结合的实例
- Objective-c
- 黑马程序员-C语言基础学习心得-02
- 一个循环实现冒泡法排序(并没有什么卵用)
- 变量、数组、集合、泛型的发展
- virtualization--Create Virtual Machine#2
- 费工行截图今天又
- android 倒计时
- 理解Javascript_01_理解内存分配