### 為每個條目添加點擊事件監聽器
~~~
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;
}
});
}
~~~
長按后彈出界面效果及設置后的效果:
[](http://img.blog.csdn.net/20141104152008738)????[](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卡