在我完成IOS版本并遇到问题后,我正在制作一个Android应用程序。
我有一个ListView,顶部是EditText。 当我在EditText中输入文本时,我会过滤ListView中的项目。
private void setupSearch() {
EditText inputSearch = (EditText) getView().findViewById(R.id.input_search);
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
adapter.getFilter().filter(s);
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
}
我成功过滤了这些物品。但现在当我点击该项时使用id 0,因为它是ListView中唯一的项目。但是arrayList有多个项目不是filtert所以它会打开id为0的项目.Witch是一个完全不同的项目。
这里我设置了ListView:
private void setupListview() {
ArrayList test = new ArrayList();
for (int i = 0; i < list.size(); i++) {
test.add(list.get(i).getTitle());
}
adapter = new ArrayAdapter<ArrayList>(getActivity().getBaseContext(), R.layout.row, R.id.rowTitleView, test);
ListView List = (ListView) getView().findViewById(R.id.listview_faqs);
List.setAdapter(adapter);
List.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent showNext = new Intent(getActivity(), Activity.class);
showNext.putExtra("title", list.get(i).getTitle());
showNext.putExtra("image", list.get(i).getImage());
getActivity().startActivity(showNext);
}
});
}
那么如何过滤项目列表,或者我可以使用其他内容。我有点失落。