Android之ListView监听事件(10) 博客分类: Android初步 安卓;Listview事件监听
程序员文章站
2024-03-11 21:06:43
...
上节课我们小试牛刀了美团美食列表,当我们点击美团时列表都会跳转到另一个Activity中,就是另一个页面去看详细信息,这里用到了非常重要的两点,一点是OnItemClickListener和Intent,第一个简单明了就是组件的点击事件,第二个是页面跳转常用的,这里我们先讲这一种用法。
首先我们有一个MainActivity.class,之后我们定义一个跳转后的页面例如:bingguo.class,跳转的代码是:
Intent intent=new Intent(); intent.setClass(MainActivity.this, bingguo.class); MainActivity.this.startActivity(intent);
然后我们给bingguo.class绑定布局管理器。
public class bingguo extends Activity{ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.bingguo); } }
之后定义你要显示xml布局。为了简单起见这里就不在定义bingguo的配置文件,读者可以自行创意
然后就是关键的时间监听机制。
this.datalist.setOnItemClickListener(new ListViewListener()); } private class ListViewListener implements OnItemClickListener{ @Override public void onItemClick(AdapterView<?> arg0, View v, int position, long id) { Map<String,String> map=(Map<String,String>)MainActivity.this.simpleadapter.getItem(position); String title=map.get("title"); if(title.equals("冰果彩虹")){ Intent intent=new Intent(); intent.setClass(MainActivity.this, bingguo.class); MainActivity.this.startActivity(intent); }
在之前代码中加上这几句话,你就会发现你的程序已经捕捉到了冰果彩虹卖家的信息,我们来运行试试:
接下来我们定义OnItemLongClickListener也就是长按按钮,这里我们要学到对话框,在代码中加入
this.datalist.setOnItemLongClickListener(new delete();监听器再加入事件处理。
private class delete implements OnItemLongClickListener{ @Override public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int position, long arg3) { Map<String,String> map=(Map<String,String>)MainActivity.this.simpleadapter.getItem(position); String title=map.get("title"); new AlertDialog.Builder(MainActivity.this).setIcon(R.drawable.warm).setTitle(title).setMessage("确定要删除吗?") .setPositiveButton("确定",new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { //在这里添加事件 Toast toast = Toast.makeText(MainActivity.this, "已删除!", Toast.LENGTH_SHORT); toast.show(); } }).setNeutralButton("查看详情", null).setNegativeButton("取消",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }).create().show(); return false; } }
加入弹出删除对话框功能,可以自己定义图标,按钮。效果如下:
上一篇: Java 8新特性方法引用详细介绍
下一篇: javaweb中Http协议详解