### 为每个条目添加点击事件监听器
~~~
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;
}
});
}
~~~
长按后弹出界面效果及设置后的效果:
[![Screenshot_2014-11-04-15-07-55](https://box.kancloud.cn/2016-02-18_56c5a95623df9.jpg "Screenshot_2014-11-04-15-07-55")](http://img.blog.csdn.net/20141104152008738) [![Screenshot_2014-11-04-15-08-05](https://box.kancloud.cn/2016-02-18_56c5a95634fb8.jpg "Screenshot_2014-11-04-15-08-05")](http://img.blog.csdn.net/20141104152010127)
- 前言
- Appcompat_V7问题
- This Android SDK requires Android Developer Toolkit version 23.0.0 or above
- 创建Android项目不自动生成Activity,layout目录为空
- 新建android项目gen目录下未生成R文件
- 手机安全卫士02:splash界面ui
- 知识点:Android控件系列之Toast
- 手机安全卫士03:获取更新的服务器配置,显示更新对话框
- 异常处理:android.os.NetworkOnMainThreadException--多线程问题
- 知识点:Android控件系列之对话框AlertDialog.Builder
- 手机安全卫士04_01:界面(Activity)之间的切换,Activity和任务栈
- 知识点:Android控件系列之ProgressDialog与ProgressBar
- 手机安全卫士04_02:从服务器下载并安装新版本安装包
- 知识点:Intent
- 知识点:Adapter适配器
- 手机安全卫士05_1:程序主界面
- 手机安全卫士05_2:程序主界面,为每个条目添加事件
- 知识点:动态设置布局LayoutInflater
- 知识点:SharedPreferences
- 手机安全卫士06-手机防盗之自定义对话框
- 手机安全卫士07-手机防盗之进入限制
- 手机安全卫士08-一些布局和显示的细节:State List
- 手机安全卫士09-手机防盗界面设置向导1
- 手机安全卫士10-设置向导之绑定SIM卡