//取出Arraylist的重复
/**
* 定义一个去除arrayList的方法.
*/
public List<String> getNewList(List<String> li) {
List<String> list = new ArrayList<String>();
for (int i = 0; i < li.size(); i++) {
String str = li.get(i); // 获取传入集合对象的每一个元素
if (!list.contains(str)) { // 查看新集合中是否有指定的元素,如果没有则加入
list.add(str);
}
}
return list; // 返回集合
}
//调用方法
treeList = (ArrayList<String>) getNewList(treeList);
//绑定listview
areamanagementlistview = (ListView) findViewById(R.id.areamanagement_listview);
// 为所有的条目注册上下文菜单ContextMen
registerForContextMenu(areamanagementlistview);// 注册上下文菜单
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {//上下文菜单中按钮
super.onCreateContextMenu(menu, v, menuInfo);
menu.add(0, ITEM1, 0, "添加");
menu.add(0, ITEM2, 0, "删除");
menu.add(0, ITEM3, 0, "重命名");
}
* 通过长按条目激活上下文菜单
*/
// 上下文菜单菜单单击事件
@Override
public boolean onContextItemSelected(MenuItem item) {
menuInfo = (AdapterContextMenuInfo) item.getMenuInfo();//listview里的数据
content_area1 = adapter.getItem(menuInfo.position).toString();//点击当前项目
HashMap<String, String> content_area1 = (HashMap<String, String>) adapter.getItem(menuInfo.position);//将listview里的数据放进HashMap中
// 遍历HashMap,找到想要的值
Set set = content_area1.entrySet();
Iterator itor = set.iterator();// 遍历的类
while (itor.hasNext()) {// 存在下一个值
HashMap.Entry entry = (HashMap.Entry) itor.next();//
// 找到所有key-value对集合
if (entry.getKey().equals("AreaNameId")) {//
// 获取value值与所知道的value比较
strAreaNameID = entry.getValue().toString().trim();// 取得key值
System.out.println("我要找的区域编号 :" + strAreaNameID);
}
if (entry.getKey().equals("AreaName")) {//
// 获取value值与所知道的value比较
strAreaName = entry.getValue().toString().trim();// 取得key值
System.out.println("我要找的区域名 :" + strAreaName);
}
}
switch (item.getItemId()) {
case ITEM1:
// 加载输入框的布局文件
LayoutInflater inflater = (LayoutInflater) AreaManagementActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.customdialog_add, null);
// 弹出的对话框
new AlertDialog.Builder(AreaManagementActivity.this)
/* 弹出窗口的最上头文字 */
// .setTitle("添加一条数据")
/* 设置弹出窗口的图式 */
.setIcon(android.R.drawable.ic_dialog_info)
/* 设置弹出窗口的信息 */
.setMessage("请输入区域名称").setView(layout)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialoginterface, int i) {
EditText inputStringr = (EditText) layout.findViewById(R.id.customdialog_add_text);
strinputStringr = inputStringr.getText().toString();
if (strinputStringr == null || strinputStringr.equals("")) {
Toast.makeText(getApplicationContext(), "添加的内容不能为空", Toast.LENGTH_SHORT).show();
} else {
}
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() { /* 设置跳出窗口的返回事件 */
public void onClick(DialogInterface dialoginterface, int i) {
}
}).show();
break;
case ITEM2:
new AlertDialog.Builder(this)
.setMessage("你确定要删除这条记录吗")// 设置显示的内容
.setPositiveButton("确定", new DialogInterface.OnClickListener() {// 添加确定按钮
@Override
public void onClick(DialogInterface dialog, int which) {// 确定按钮的响应事件
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {// 添加返回按钮
@Override
public void onClick(DialogInterface dialog, int which) {// 响应事件
}
}).show();// 在按键响应事件中显示此对话框
break;
case ITEM3:
// 加载输入框的布局文件
LayoutInflater inflater1 = (LayoutInflater) AreaManagementActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final LinearLayout layout1 = (LinearLayout) inflater1.inflate(R.layout.customdialog_add, null);
// 当前listivew的id
AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo) item.getMenuInfo();
id = (int) menuInfo.id;
if (-1 == id) {
super.onContextItemSelected(item);
}
// 弹出的对话框
new AlertDialog.Builder(AreaManagementActivity.this).setIcon(android.R.drawable.ic_dialog_info)
/* 设置弹出窗口的信息 */
.setMessage("请输入区域").setView(layout1)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialoginterface, int i) {
EditText inputStringr = (EditText) layout1.findViewById(R.id.customdialog_add_text);
string_rename = inputStringr.getText().toString().trim();
}
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() { /* 设置跳出窗口的返回事件 */
public void onClick(DialogInterface dialoginterface, int i) {
}
}).show();
break;
}
return true;
}