您的位置:首页 > 移动开发 > 微信开发

仿微信长按选项删除该聊天和置顶该聊天ContextMenu

2015-12-09 17:47 573 查看




接下来是代码内容

package com.example.contenxtmenu;

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.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.widget.Toast;
import android.view.ContextMenu.ContextMenuInfo;

public class MainActivity extends ListActivity {
ArrayList<String>list;
ArrayAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
// TextView text=(TextView) findViewById(R.id.text);
// text.setOnCreateContextMenuListener(this);
// ImageView imageview=(ImageView) findViewById(R.id.inmager);
// imageview.setOnCreateContextMenuListener(this);

list=new ArrayList<String>();
for(int i=0;i<50;i++){
list.add("测试的微信数据"+i);
}
adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,list);
this.setListAdapter(adapter);
ListView lv=this.getListView();
lv.setOnCreateContextMenuListener(this);
}

@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);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info=(AdapterContextMenuInfo) item.getMenuInfo();
int a=info.position;
int id=item.getItemId();
if(id==1001){

Toast.makeText(getApplicationContext(), "已标记未读成功", Toast.LENGTH_SHORT).show();
}
if(id==1002){
//置顶的逻辑 先把当前的删除,得到的一个对象,然后在把这个对象添加到顶部,用数组下标的方式置顶到0的位置。
String b=list.remove(a);
list.add(0, b);
adapter.notifyDataSetChanged();
Toast.makeText(getApplicationContext(), "置顶成功", Toast.LENGTH_SHORT).show();
}
if(id==1003){
list.remove(a);
adapter.notifyDataSetChanged();
Toast.makeText(getApplicationContext(), "删除该聊天成功", Toast.LENGTH_SHORT).show();
}
return super.onContextItemSelected(item);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: