Здесь я Выполняю SearchView
Заключения listview
searchview не работает и дает ошибки. пожалуйста, помогите мне. Я новичок в android Я создаю getter & setter class для listview
и создаю adapter
с именем "Custom_adapter
". Вот мой код MainActivity
, пожалуйста, помогите мне. Я застрял здесь.SearchView Не работает в моем приложении для Android в listview
public class MainActivity extends AppCompatActivity {
ListView listView;
Button sync;
String name, phone;
//Adapter adapter;
Intent intent;
ProgressDialog progressDialog;
TextView tv_count;
ArrayList<Contact_list> listitem;
SearchView searchView;
ArrayAdapter<Contact_list> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_count= (TextView) findViewById(R.id.tv_size);
// tv_count.setText("hello");
listitem = new ArrayList<Contact_list>();
listView = (ListView) findViewById(R.id.listViewID);
registerForContextMenu(listView);
//for searchview
searchView= (SearchView) findViewById(R.id.searchID);
sync= (Button) findViewById(R.id.syncID);
sync.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// GET CONTACTS DATA
GetContactsIntoArrayList();
}
});
}
public void GetContactsIntoArrayList(){
Cursor cursor;
cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null, null, null);
while (cursor.moveToNext()) {
name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
phone = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
listitem.add(new Contact_list(name,phone));
listView.setAdapter(new Custom_adapter(MainActivity.this, listitem));
/**
* for searchview
*/
adapter = new ArrayAdapter<Contact_list>(this,
R.layout.custom_adapter, listitem);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
//it gives error on this line
adapter.getFilter().filter(newText);
// adapter.getF
return false;
}
});
}
cursor.close();
}
}