Android 菜单栏菜单功能


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/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="com.example.menu2.MainActivity" >

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
         />

</RelativeLayout>



package com.example.menu2;

import java.util.ArrayList;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends ListActivity {

	
	private ArrayList<String> data=null;
	private ArrayAdapter adapter;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		//setContentView(R.layout.activity_main);
		
		data=new ArrayList<String>();
		for(int i=0;i<40;i++){
			data.add("测试的微信消息:"+i);
		}
		
		
		adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,data);
		this.setListAdapter(adapter);
		
		ListView lv=this.getListView();
		lv.setAdapter(adapter);
		
		lv.setOnCreateContextMenuListener(this);
	}

	
	@Override
	public boolean onContextItemSelected(MenuItem item) {
		AdapterContextMenuInfo info=(AdapterContextMenuInfo) item.getMenuInfo();
		final	int pos=info.position;
		
		int id=item.getItemId();
		if(id==1001){
			Toast.makeText(this, "该东西还未读", Toast.LENGTH_SHORT).show();
		}
		
		if(id==1003){
			
			AlertDialog dialog=new AlertDialog.Builder(this).create();
			dialog.setTitle("duihuakuang");
			dialog.setMessage("确定要删除这条消息吗?");
			dialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定", new DialogInterface.OnClickListener(){

				@Override
				public void onClick(DialogInterface dialog, int which) {
					//按钮点击后的业务逻辑
					data.remove(pos);
					adapter.notifyDataSetChanged();
				}});
			
			dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", new DialogInterface.OnClickListener() {
				
				@Override
				public void onClick(DialogInterface dialog, int which) {
					Toast.makeText(getApplicationContext(), "取消了操作", Toast.LENGTH_SHORT).show();
				}
			});
			
			dialog.show();
		}
		
		return super.onContextItemSelected(item);
	}
	
	
	@Override
	public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
		
		menu.add(1, 1001, 0, "标为未读");
		menu.add(1, 1002, 1, "置顶聊天");
		menu.add(1, 1003, 3, "删除该聊天");
		
		super.onCreateContextMenu(menu, v, menuInfo);
	}
}




你可能感兴趣的:(android)