【发布时间】:2012-01-29 00:13:31
【问题描述】:
我在搜索一个单词的一部分时遇到很多问题,然后让它找到完整的结果。
就像我搜索“droid”一样,它会在我的列表中查找包含“droid”的任何内容,如果你查看我的数组列表,它应该会找到“Android”
数组列表代码:
private List<String> getModel() {
List<String> list = new ArrayList<String>();
list.add("Linux");
list.add("Windows7");
list.add("Suse");
list.add("Eclipse");
list.add("Ubuntu");
list.add("Solaris");
list.add("Android");
list.add("iPhone");
return list;
}
这是我的其余代码:
public class idchart extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.idchart);
/*Resources res = getResources();
ListView listView=(ListView)findViewById(R.id.list);*/
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
android.R.id.text1,
getModel());
setListAdapter(adapter);
EditText filterEditText = (EditText) findViewById(R.id.srcBox);
filterEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
adapter.getFilter().filter(s.toString());
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
}
【问题讨论】:
-
可以使用基于正则表达式的解决方案。
-
我很好奇,如何通过正则表达式搜索列表对象?它没有我所知道的内置功能。
标签: java android listview search partial