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; // 返回集合
}
//调用方法
//绑定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;
}
/**
* 定义一个去除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;
}
相关文章推荐
- android WebView拦截js弹窗界面无响应问题
- Android-Activity生命周期的理解
- Android Matrix手势缩放自定义view 不止于Imageview
- Android中EditText隐藏/自动弹出输入法的问题
- Android的udp回显测试源码
- Android 自定义注解框架
- Android SDK 国内镜像
- android测试框架对比(二)
- android BroadCast的发送与接收
- Android中intent传递list或者对象的方法
- Android Studio NDK 开发配置
- android 使用fastjson解析
- 玩转Android studio 插件开发、测试、JCenter库发布(1)
- 对于Picasso的封装和优化方案
- Android自动化测试框架目标
- 对Android中Touch事件分发机制的理解和总结
- Android Studio 打包、生成jks密钥、签名Apk、多渠道打包
- 如何调用Android隐藏API
- 使用Android studio Gradle 实现友盟多渠道打包
- Android Logcat输出为何能自动换行输出的原因以及多\n的作用