/**
*点击editText时,有之前输入的偏好存起来,用于此次显示在popuMenu中
*//1.得到InputMethodManager对象
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
//2.调用hideSoftInputFromWindow方法隐藏软键盘
imm.hideSoftInputFromWindow(city.getWindowToken(), 0); //强制隐藏键盘
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_query_violation);
sp = context.getSharedPreferences("chePai", Context.MODE_PRIVATE);
map = (Map<String, String>) sp.getAll();
// 车辆号码
etBusNum = (EditText) findViewById(R.id.editText1_chePaiHaoMa);
etBusNum.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1_Save:
isFirstQuery = true;// 表示非第一次查询
shengFen=cityTv.getText().toString();
String content1 = etBusNum.getText().toString();
if (!shengFen.isEmpty()&&!TextUtils.isEmpty(content1)) {
SharedPreferenceUtils.putBusData(context, "city", "citys", shengFen);
String content = content1.trim();
boolean flag = setEditTextBusNum(shengFen,content);
}
} else {
HelperUtils.showToast(context, "车牌号不能为空!");
}
break;
case R.id.editText1_chePaiHaoMa:
setEditTextBusNumPopuMenu();
break;
}
}
private void setEditTextBusNumPopuMenu() {
// 查询
String s1 = "";
menu = new PopupMenu(QueryViolationActivity.this, etBusNum);
int j = 0;
if (map.size() != 0) {
for (int i = 0; i < map.size(); i++) {
String str = sp.getString("chePai" + i, "");
Log.i("tag", "偏好取出的车牌 str=="+str);
j++;
Menu m = menu.getMenu();
m.add(1 + j, 100 + j, 150 + j, str);
menu.setOnMenuItemClickListener(QueryViolationActivity.this);
}
}
/*
* Cursor c = daos.query("contents"); String s1=""; menu = new
* PopupMenu(QueryViolationActivity.this, etBusNum); int j = 0;
* while(c.moveToNext()){ s1=c.getString(1); j++; Menu m =
* menu.getMenu(); m.add(1 + j, 100 + j, 150 + j,s1);
* menu.setOnMenuItemClickListener(QueryViolationActivity.this); }
*/
menu.show();
// c.close();
}
private boolean setEditTextBusNum(String shengFen,String content) {
String str = null;
String a = "a1";
String strPattern = "[0-9a-zA-Z]{4,}";
Pattern p = Pattern.compile(strPattern);
Matcher m = p.matcher(content);
if (m.matches()) {
if (!TextUtils.isEmpty(content)&&!TextUtils.isEmpty(shengFen)) {
for (int i = 0; i < map.size(); i++) {
str = sp.getString("chePai" + i, "");
Log.i("tag", "sp 车牌:str=="+str);
if (str.equals(shengFen+content)) {
a = map.remove("chePai" + map.size());
// Log.i("tag", "a="+a);
}
}
if (a != null) {
String contents=shengFen+content;
SharedPreferenceUtils.putData(context, String.valueOf(map.size()),contents);
}
}
return true;
} else {
Toast.makeText(context, "车牌号格式错误!", 1).show();
return false;
}
/*
* 此方法为数据库存储需要去除重复 if (!TextUtils.isEmpty(content)) { ContentValues
* values=new ContentValues(); values.put("content", content); long id =
* daos.insert("contents", values); //daos.exitRepeat(); if(id==-1){
* Log.i("tag", "id=="+id+","+"插入数据出错了,insert error!"); }else {
* Log.i("tag", "id=="+id+","+"插入数据成功了。insert ok!"); } }
*/
}
@Override
public boolean onMenuItemClick(MenuItem item) {
etBusNum.setText("");
String s = (String) item.getTitle();
String sfen = s.substring(0,1);
String num = s.substring(1, s.length());
etBusNum.setText(num);
cityTv.setText(sfen);
return false;
}