Android EditText删除键停止工作
我已经研究这个问题三天了,我哪儿也去不了 好的,我有一个编辑文本框Android EditText删除键停止工作,android,android-edittext,key,Android,Android Edittext,Key,我已经研究这个问题三天了,我哪儿也去不了 好的,我有一个编辑文本框 <EditText android:id="@+id/inputSearch" android:layout_width="match_parent" android:layout_height="0dp" android:inputType="textNoSuggestions" android:hint="Search contacts...." a
<EditText
android:id="@+id/inputSearch"
android:layout_width="match_parent"
android:layout_height="0dp"
android:inputType="textNoSuggestions"
android:hint="Search contacts...."
android:visibility="invisible"
android:singleLine="true"
/>
上面是我的过滤查询。。。所以到目前为止一切都很好
inputSearch=(EditText)root.findViewById(R.id.inputSearch);//搜索//文本
inputSearch.addTextChangedListener(new TextWatcher()
{
public void afterTextChanged(Editable s)
{
lst.setTextFilterEnabled(true);
lst.setFilterText(s.toString());
}
}
所以我想做的就是允许某人在listview中搜索一个联系人,该部分工作正常。在您未键入名称并想按backspace键之前,第一个delete命令将起作用,然后就是这样,您无法从编辑文本中删除更多字符
我做错了什么?有什么想法吗?我使用的是magictextview,这导致了这个问题
@Override
public Cursor runQueryOnBackgroundThread(CharSequence constraint)
{
Log.d(""," Cursor chars = " + constraint);
StringBuilder buffer = null;
String[] args = null;
if (constraint != null)
{
//Activity activity = (Activity) iContext;
buffer = new StringBuilder();
buffer.append(ContactsContract.Contacts.HAS_PHONE_NUMBER + " > 0 AND ");
buffer.append(ContactsContract.Contacts.IN_VISIBLE_GROUP + " == 1 AND ");
buffer.append("UPPER( " + ContactsContract.Contacts.DISPLAY_NAME + ")");
buffer.append(" like ? ");
args = new String[]{"%" + constraint.toString().toUpperCase() + "%"};
Cursor c = iContext.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
null,
buffer.toString(),
args,
"UPPER(" + ContactsContract.Contacts.DISPLAY_NAME + ") ASC");
Log.d(""," Cursor count = " + c.getCount());
return c;
}
Log.d(""," returning null");
return null;
}
inputSearch.addTextChangedListener(new TextWatcher()
{
public void afterTextChanged(Editable s)
{
lst.setTextFilterEnabled(true);
lst.setFilterText(s.toString());
}
}