`

Android之ListView监听事件(10)

阅读更多

                                 上节课我们小试牛刀了美团美食列表,当我们点击美团时列表都会跳转到另一个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;
		}
		
	}

加入弹出删除对话框功能,可以自己定义图标,按钮。效果如下:

 

 

 

 

  • 大小: 225.8 KB
  • 大小: 35.6 KB
  • 大小: 140.5 KB
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics