微信 未读 置顶 删除 的简单实现:
package com.example.meun;
import java.util.ArrayList;
import android.app.ListActivity;
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.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<20;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();
int pos = info.position;
int id=item.getItemId();
if(id==1001){
Toast.makeText(this, "该消息还未读", Toast.LENGTH_SHORT).show();
}
if(id == 1002){
String temp = data.get(pos);
data.remove(pos);
data.add(0,temp);
adapter.notifyDataSetChanged();
}
if(id == 1003){
data.remove(pos);
adapter.notifyDataSetChanged();
}
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, 2, "删除该聊天");
super.onCreateContextMenu(menu, v, menuInfo);
}
}