android - 如何使用自定义适配器在自定义的Listview上执行SQLite搜索?

  显示原文与译文双语对照的内容

我有一个有多个 EditText s的自定义 ListView,我想使搜索功能只使用一个 EditText s 。

到目前为止我已经在 ActionBar 上实现了 SearchView,但是我不知道如何使用 onQueryTextChange/submit方法在SQLite数据库中搜索。

我查看了youtube和 google,并且找不到绝对有助于使用自定义listview的任何东西。 我能够找到一些使用一个简单的listview的例子,但是我不确定如何适应我的情况。 我需要帮助,请 !

如果你需要任何信息,请随时问我,我将立即发帖。 非常感谢!

代码

我的customAdapter的


public View getView(int position, View view, ViewGroup parent) {
 Cliente cliente = lista.get(position);

 if(view == null)
 {
 LayoutInflater inflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
 view = inflater.inflate(R.layout.single_row_listar_cliente, null);
 }

 TextView txtNome = (TextView) view.findViewById(R.id.tv_cliente_nome);
 txtNome.setText(cliente.getNome());

 TextView txtSobrenome = (TextView) view.findViewById(R.id.tv_cliente_sobrenome);
 txtSobrenome.setText(cliente.getSobrenome());

//
 Button btn = (Button) view.findViewById(R.id.btn_cliente_opcoes);


 btn.setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View v) {
 Log.d("working","k");
//Mensagem.Msg(ListarCliente,"oi",1000);
 }
 });


 return view;
}

时间: 原作者:

如果使用 ArrayAdapter,它提供了简单方法 getFilter(),它将根据搜索文本过滤列表中的数据。 但是,要使用相同的功能数据库,你需要使用 CursorAdapter: 文档文档

它提供了方法 setFilterQueryProvider(filterQueryProvider),在这里你需要传递文本并在数据库类中进行。 请参见 below 教程,它提供了精确的实现:

http://www.mysamplecode.com/2012/07/android-listview-cursoradapter-sqlite.html

希望这有助于 !

原作者:
...