- 浏览: 119315 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhifeiji512:
George_ghc 写道第一段代码给cursor赋值第二段代 ...
Android中Cursor关闭的问题
ContextMenu称为上下文菜单,一般在控件上长按时弹出。今天我们学习ContextMenu的用法,这里与listview相结合,先在ListView显示几个Item,然后在Item上长按,弹出一个菜单(就是ContextMenu),点击菜单上的项目,提示刚才长按的Item的Position.
main.xml 里就一个ListView
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ListView android:id="@+id/lv" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout>
package com.pocketdigi.com; import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class main extends Activity { /** Called when the activity is first created. */ ListView lv; ArrayAdapter<String> Adapter; ArrayList<String> arr=new ArrayList<String>(); //定义菜单项 protected static final int Menu_Item1=Menu.FIRST; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); lv=(ListView)findViewById(R.id.lv); //添加ListView项 arr.add("123"); arr.add("234"); arr.add("345"); Adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, arr); lv.setAdapter(Adapter); lv.setOnCreateContextMenuListener(MenuLis); } ListView.OnCreateContextMenuListener MenuLis=new ListView.OnCreateContextMenuListener(){ @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { // TODO Auto-generated method stub //添加菜单项 menu.add(Menu.NONE,Menu_Item1,0,"获取position"); } }; //选中菜单Item后触发 public boolean onContextItemSelected(MenuItem item){ //关键代码在这里 AdapterView.AdapterContextMenuInfo menuInfo; menuInfo =(AdapterView.AdapterContextMenuInfo)item.getMenuInfo(); //输出position Toast.makeText(main.this,String.valueOf(menuInfo.position), Toast.LENGTH_LONG).show(); return super.onContextItemSelected(item); } }
List 中显示context Menu // get the list view
ListView list = (ListView)findViewById(R.id.list);
// set adapter before registering the context menu
list.setAdapter(adapter);
// register it for the context menu
registerForContextMenu(list);
发表评论
-
repo用法
2012-03-16 14:24 1290repo用法(转载) http://blogold ... -
Git使用指南
2012-03-15 14:43 9251.创建目录 $ git config --glo ... -
关于Android的多种屏幕支持
2011-12-14 14:23 1295首先是几个基本概 ... -
android ListView 修改背景
2011-12-14 09:39 1902修改listview时存在的 ... -
详解android:scaleType属性
2011-11-28 17:09 6399android:scaleType是控制图片如何res ... -
Android使用AIDL设计和调用远程接口
2011-11-24 18:14 4051在Android中, 每个应 ... -
Android开发 系统应用调用,Intent使用总结
2011-11-09 09:48 1381转载来源网上资料。 显示网页: 1. Ur ... -
List of Android MIME types and Uri's
2011-11-07 16:35 1608This is a list of URIs that can ... -
隐藏输入法
2011-11-07 14:16 838在manifest里设置,android:windowSoft ... -
SlidingDrawer 使用
2011-10-28 17:51 4006关于SlidingDrawer控件 1.重要属性 ... -
Android通知及receiver
2011-10-24 15:09 38181. BroadcastReceiver Broadc ... -
Notification
2011-10-21 16:49 1586可以给Notification设置缺省的表现形式: ... -
Android获取其他包的Context实例
2011-10-20 11:17 939Android中有Context ... -
Android 中Message,MessageQueue,Looper,Handler详解+实例
2011-10-18 13:23 968一、几个关键概念 ... -
Activity 的生命周期 以及 横屏竖屏切换时 Activity 的状态变化
2011-10-18 13:21 1079转自:http://www.blogjava.ne ... -
免费的Android UI库及组件推荐
2011-10-18 13:10 3007转自:http://www.iteye.com/news/22 ... -
众多Android 开源项目推荐,给力工作给力学习
2011-10-18 11:54 675转自:http://www.cnblogs.com/Terry ... -
下拉刷新
2011-10-18 11:10 814下拉刷新 参考代码 https://gith ... -
canvas.translate(x,y)理解
2011-10-17 15:59 2692translate(float x,float y)函数是将整 ... -
android.view.WindowManager$BadTokenException: Unable to add window
2011-09-28 10:19 1855android.view.WindowManager$B ...
相关推荐
在`ListView`中,每个列表项的点击事件可以通过设置`OnItemClickListener`来处理,而长按事件则触发上下文菜单。通过`Adapter`,我们可以关联数据与视图,确保列表项的正确显示。例如,我们可以自定义一个`...
在这里,我们可以获取到用户选择的菜单项ID,以及通过`menuInfo`获取到触发菜单的ListView项的信息,例如位置。 ```java @Override public boolean onContextItemSelected(MenuItem item) { AdapterView....
1. 在`onItemClick(AdapterView<?> parent, View view, int position, long id)`方法中,你可以通过`position`参数获取到被点击项的索引。 2. 使用`getAdapter().getItem(position)`获取到对应位置的数据对象。 3. ...
在Android中,`ListView`是常见的数据展示组件,它可以与`ContextMenu`结合使用。当用户在`ListView`的某一行上长按时,会触发`ContextMenu`。为了使`ListView`中的每个项目都能弹出`ContextMenu`,需要在适配器的`...
// 根据position获取ListView中的数据 YourItemData item = dataList.get(position); // 创建并添加菜单项 menu.setHeaderTitle("选择操作"); menu.add(0, COPY_ID, 0, "复制"); menu.add(0, DELETE_ID, 0, ...
`Listview 长按弹出菜单`的功能可以极大地提升用户体验,使得用户在查看列表项时能快速执行相关操作。本教程将深入讲解如何实现这个功能,以及相关的事件处理。 一、ListView概述 ListView是Android SDK提供的一种...
`ListView长按显示菜单` 是一个常见的交互设计,允许用户通过长按列表项(ListView中的每一行)来触发一个上下文相关的操作菜单,提供了对单个条目进行编辑、删除或其他定制操作的方式。在本篇文章中,我们将深入...
在这个方法中,我们可以通过`MenuInflater`来填充菜单项,并设置相应的点击监听器。 ```java @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { ...
3. **处理菜单选择**:通过重写onContextItemSelected()方法,处理用户在ListView项上点击的菜单项。 ```java @Override public boolean onContextItemSelected(MenuItem item) { AdapterView....
总结来说,要实现带有图标的ListView以及长按菜单效果,我们需要创建自定义的ListView项类,自定义适配器,设置ListView的图标和文本,注册长按事件,以及处理长按菜单项的点击事件。这为用户提供了丰富的交互体验,...
6. **自定义ListView**:如果系统默认的ListView不能满足需求,可以创建自定义的ListView,通过重写`getView()`方法来自定义每个列表项的视图,或使用`Adapter`来控制数据绑定。 7. **查看SQLite内容**:使用SQLite...
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.add(0, MENU_UPDATE, 0, "修改信息"); menu.add(0, MENU_ADD, 0,...
* 1,ListView的长按点击事件,用来AlertDialog来判断是否删除数据。 * 2,ListView的点击事件,跳转到第二个界面,用来修改数据 * 4,menu里的退出事件,用来退出程序 * 5,menu里的新建事件,用来新建便签 * ...