Ich habe eine ListView
. Ich möchte in Listview
von arrayAdapter
suchen. Android textwatcher
hat mir in diesem Thema geholfen. Aber es sucht nur eins zu eins Kopplung. Zum Beispiel: Ich tippe "ger" um Deutschland zu suchen. Es listet nur "Deutschland" auf, aber meine Liste enthält auch Algerien und Nigeria. Also, wie kann ich mit gleichem %% Befehl als SQL im Adapter suchen?Android TextWatcher Suche mit SQL wie %%?
public ArrayAdapter<?> adapter;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(title);
LayoutInflater inflater = LayoutInflater.from(getActivity());
View dialogLayout = null;
if (adapter != null) {
dialogLayout = inflater.inflate(R.layout.layout_dialog_list_filter, null);
filterText = (EditText) dialogLayout.findViewById(R.id.search_box);
filterText.addTextChangedListener(filterTextWatcher);
ListView listView = (ListView) dialogLayout.findViewById(R.id.dialogListView);
listView.setAdapter(adapter);
listView.setOnItemClickListener(listItemClickListener);
listView.setTextFilterEnabled(true);
}
builder.setNegativeButton(R.string.text_cancel, this);
builder.setView(dialogLayout);
return builder.create();
}
private TextWatcher filterTextWatcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
adapter.getFilter().filter(s);
}
};
ja, haben Sie versucht das? – Ritesh
ohh .. Entschuldigung mein Fehler, es wäre contains() statt containsWith(). – Ritesh
Wie und wo soll ich verwenden? Ich verwende ArrayAdapter. – hkaraoglu