我已经在这个问题上工作了 3 天,但我无处可去,
好的,我有一个编辑文本框,
<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"
/>
在 ListView ( https://github.com/woozzu/IndexableListView )的顶部
<com.mb.contactlist.IndexableListView
android:id="@+id/tab_contact_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:divider="@color/d_gray"
android:dividerHeight="1dp"
android:fastScrollEnabled="true"
android:focusable="true"
android:longClickable="true"
android:paddingLeft="10dp"
android:paddingRight="30dp" >
</com.mb.contactlist.IndexableListView>
很简单,所以我的 CursorAdapter 实现了 SectionIndexer,Filterable
@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 = (EditText) root.findViewById(R.id.inputSearch); // 搜索 // 文本
inputSearch.addTextChangedListener(new TextWatcher()
{
public void afterTextChanged(Editable s)
{
lst.setTextFilterEnabled(true);
lst.setFilterText(s.toString());
}
}
所以我想要做的就是允许某人在列表视图中搜索联系人,该部分工作正常并且工作正常。直到您错过输入名称并想按退格键,第一个删除命令才起作用,然后就是这样,您无法从编辑文本中删除更多字符...
我究竟做错了什么?有任何想法吗?