使用EditText过滤支持SimpleCursorAdapter的ListView,可以通过以下步骤实现:
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入关键字" /><ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
EditText editText = findViewById(R.id.edit_text);
ListView listView = findViewById(R.id.list_view);
// 创建SimpleCursorAdapter适配器
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor, new String[]{"column_name"}, new int[]{android.R.id.text1}, 0);
listView.setAdapter(adapter);
// 添加EditText文本变化监听器
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
// 更新ListView数据
Cursor newCursor = getFilteredCursor(s.toString());
adapter.swapCursor(newCursor);
}
});
private Cursor getFilteredCursor(String keyword) {
// 根据关键字查询数据库,返回过滤后的Cursor
return getContentResolver().query(YourContentProvider.CONTENT_URI, null, "column_name LIKE ?", new String[]{"%" + keyword + "%"}, null);
}
通过以上步骤,就可以实现在EditText中输入关键字,自动过滤SimpleCursorAdapter中的ListView数据。
推荐的腾讯云相关产品:
产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云