【发布时间】:2015-09-03 13:58:30
【问题描述】:
我正在将从我创建的数据库中获取的一些值设置为列表视图。列表视图已正确填充。现在我想为我的列表视图实现搜索功能。我怎样才能做到这一点?我已经创建了搜索栏布局。我参考了很多教程,但无法完成。
我的班级
public class StockWatchView extends Fragment {
private ListView mListView;
private LazyListViewAdapter mAdapter;
private EditText search;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.stock_watchlist_view, container, false);
mListView = (ListView) view.findViewById(R.id.listview);
search = (EditText) view.findViewById(R.id.search);
Toast.makeText(StockWatchView.this.getActivity(), "Do Background Service", Toast.LENGTH_LONG).show();
DBHandler dbHandler = new DBHandler(StockWatchView.this.getActivity(), null, null, 0);
ArrayList<BaseElement> items = dbHandler.getAllPric();
if (items.size() != 0) {
mAdapter = new LazyListViewAdapter(items, StockWatchView.this.getActivity(), ListElement.PRICE_LIST.getPosition());
mListView.setAdapter(mAdapter);
Toast.makeText(this.getActivity(), "Toast " + dbHandler.getLastUpdateTime(), Toast.LENGTH_LONG).show();
} else {
//new BackgroundService().execute();
}
search.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
}
// TODO Auto-generated method stub
});
return view;
}
}
【问题讨论】:
-
您可以简单地从在布局中添加一个文本视图和一个按钮开始。当您按下按钮时,应根据搜索键触发查询,您将获得一个光标作为结果。然后您可以使用该光标将结果填充到列表视图中
标签: android search android-fragments android-listview