为每一个条目加入点击事件监听器

gv_main.setOnItemClickListener(this);

须要当前Activity实现OnItemClickListener接口。同一时候实现public void onItemClick(AdapterView<?> parent, View view, int position,long id)方法

/**
* 当gridview的条目被点击的时候相应的回调
* parent : gridView
* view : 当前被点击条目的 LinearLayout
* position : 点击条目相应的位置
* id : 代表的行号
*/
@Override
public void onItemClick(AdapterView<? > parent, View view, int position,
long id) {
Log.i(TAG, "点击的位置" + position);
switch(position){
case 0 :
Log.i(TAG, "进入手机防盗");
break;
}
}

设置长按“手机防盗”时,弹出编辑窗体(知识点:SharedPreferences)

gv_main.setOnItemLongClickListener(new OnItemLongClickListener() {

            @Override
public boolean onItemLongClick(AdapterView<? > parent, final View view,
int position, long id) {
if(position == 0){
Builder builder = new Builder(MainActivity.this);
builder.setTitle("设置");
builder.setMessage("请输入要更改的内容"); final EditText et = new EditText(MainActivity.this);
et.setHint("请输入内容。长度在0-8之间");
builder.setView(et); builder.setPositiveButton("确定", new OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
String name = et.getText().toString();//获取输入
if("".equals(name)){
Toast.makeText(getApplicationContext(), "内容不能为空", Toast.LENGTH_LONG).show();
return;
}else if(name.length() > 8){
Toast.makeText(getApplicationContext(), "输入过长", Toast.LENGTH_LONG).show();
return;
}else{
Editor editor = sp.edit();
editor.putString("lost_name", name);
// 完毕数据的提交
editor.commit();
TextView tv = (TextView) view.findViewById(R.id.tv_main_name);
tv.setText(name);
}
}
}); builder.setNegativeButton("取消", new OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
}
}); builder.create().show();
}
return false;
} }); }

长按后弹出界面效果及设置后的效果:

    

【边做项目边学Android】手机安全卫士05_2:程序主界面,为每一个条目加入事件的更多相关文章

  1. 【边做项目边学Android】小白会遇到的问题--Appcompat_V7问题

    问题描写叙述: 首先遇到的问题就是adt版本号的选择,sdk版本号的选择: adt按非小白朋友说的选了最新的ADT-22.3.0,同一时候我也把sdk更新到了最新的(嗯.这个要fanqiang,或者找 ...

  2. 【边做项目边学Android】小白会遇到的问题--This Android SDK requires Android Developer Toolkit version 23.0.0 or above

    问题描写叙述: 上一篇讲到解决Appcompat_V7问题要减少adt版本号,于是就换旧版本号22.3.0啊,又一次打开Eclipse.立刻弹出: This Android SDK requires ...

  3. [Android] Android 手机下 仿 微信 客户端 界面 -- 微聊

    Android 手机下 仿 微信 客户端 界面 -- 微聊 (包括聊天列表 + 聊天对话页 + 朋友圈列表页 + 我的/发现 列表页) 项目演示: 功能说明: 1)底部标签切换 (TabHost + ...

  4. Android学习系列(23)--App主界面实现

    在上篇文章<Android学习系列(22)--App主界面比较>中我们浅略的分析了几个主界面布局,选了一个最大众化的经典布局.今天我们就这个经典布局,用代码具体的实现它. 1.预览图先看下 ...

  5. android手机安全卫士、Kotlin漫画、支付宝动画、沉浸状态栏等源码

    Android精选源码 轻量级底部导航栏   android手机卫士源码   android实现高仿今日头条源码   一个用Kotlin写的简单漫画App源码   android吐槽项目完整源码   ...

  6. Android学习系列(22)--App主界面比较

    本文算是一篇漫谈,谈一谈当前几个流行应用的主界面布局,找个经典的布局我们自己也来实现一个.不是为了追求到底有多难,而是为了明白我们确实需要这么做. 走个题,android的UI差异化市场依然很大,依然 ...

  7. android布局实践——模仿微信主界面

    这是目前微信6.0版本的主界面 先来分析一波: 1.(top.xml)界面头部有一个微信(6)消息提醒    一个搜索图标   一个更多的的图标+,中间还有一段空白,我们可以弄两个textView(其 ...

  8. Android 之高仿微信主界面

    源码下载:  http://files.cnblogs.com/aibuli/WeChatSample.zip 主界面主要使用ActionBar来完成.  要实现这个效果,第一步当然是编辑menu目录 ...

  9. 《Android项目实战--手机安全卫士》读后感

    上学期在学校图书馆看到此书,觉得比较贴近实践,于是寒假研究了一番,也算是体会了一把社会培训机构的模式. 由于时间关系,最后两章还没弄完,但感觉每章节的流程相似,加之马上要回学校了,所以打算在家的最后一 ...

随机推荐

  1. CMake设置生成vs工程的动态库输出路径

    作者:朱金灿 来源:http://blog.csdn.net/clever101 在网上搜了很多的资料,发现CMake不能设置一个动态库工程的输出目录和中间目录,难道除了VC之外其它编译器如gcc中没 ...

  2. body{display:none}

    body{display:none} 使浏览器不显示内容,用这样的代码删除 $document = str_replace('body{display:none}','',$document);

  3. 妙味css3课程---1-1、css中自定义属性可以用属性选择器么

    妙味css3课程---1-1.css中自定义属性可以用属性选择器么 一.总结 一句话总结:可以的. 1.如何实现用属性选择器实现a标签根据href里面含有的字段选择背景图片? p a[href*=te ...

  4. amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules

    amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules 一.总结 1.见名知意:见那些class名字知意,见函数名知意,见文件名知意 例如(HISTORY.md Web 组件更新历史 ...

  5. Java核心技术 卷Ⅰ 基础知识(7)

    第13章 集合 集合接口 具体的集合 在表中,除了Map结尾的类之外,其他类都实现了Collection接口,而以Map结尾的类实现了Map接口. 链表 数组列表 散列集 树集 双端队列 优先级队列 ...

  6. Java核心技术 卷Ⅰ 基础知识(5)

    第11章 异常.断言.日志和调试 处理错误 异常分类 声明已检查异常 如何抛出异常 创建异常类 捕获异常 捕获多个异常 再次抛出异常与异常链 finally子句 带资源的try语句 分析堆栈跟踪元素 ...

  7. 硬件——nrf51822第三篇,按键控制小灯

    现象是按键按下,小灯亮,按键抬起,小灯灭. 从这一节我们细致剖析gpio口的设置: nrf51822片上一共有32个数字引脚,分为4个port,如下: port 0 pin 0-7 port 1 pi ...

  8. ejs模板引擎的使用

    引入ejs.min.js 创建模板,以<%=jsCode%>包裹起来其余的html和html结构一样 focusTemplateData是模板使用的数据,使用$.each()方法遍历绑定数 ...

  9. Day2:数据运算

    一.算数运算 如: #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan print(10%2) #求模(取模) # 0 ...

  10. Python代码优化及技巧笔记(一)

    前言 这里是记录一些本人在开发过程中遇到的一些细节问题.与君共勉. 版权说明 著作权归作者全部.商业转载请联系作者获得授权,非商业转载请注明出处. 作者:Coding-Naga链接:http://bl ...