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

android开发一些好用的小知识

2016-05-13 18:11 459 查看
//取出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;

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