手机安全卫士05_2:程序主界面,为每个条目添加事件

最后更新于:2022-04-01 16:16:19

### 为每个条目添加点击事件监听器 ~~~ 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://docs.gechiui.com/gc-content/uploads/sites/kancloud/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://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-18_56c5a95634fb8.jpg "Screenshot_2014-11-04-15-08-05")](http://img.blog.csdn.net/20141104152010127)
';