[英]spinner selected item to open new array list using database android
I have display multiple row in the RecyclerView
and top of the one filter select the filter open the Spinner
and select the Spinner
item to open only selected list how to show 我在
RecyclerView
显示了多行,并在一个过滤器的顶部选择了过滤器,打开了Spinner
然后选择Spinner
项目以仅打开选定列表,如何显示
im new in android programming 我在android编程中是新的
My class 我的课
private List<People> peolesListAll = new ArrayList<>();
private RecyclerView recyclerView;
private AlertAllCustomeAdapter alertAllCustomAdapter;
private DataBaseHelper db;
Spinner spinner;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alertlist_all);
BuildData();
spinner = (Spinner) findViewById(R.id.spinner);
spinner.setOnItemSelectedListener(this);
spinnerData();
recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
alertAllCustomAdapter = new AlertAllCustomeAdapter(this, peolesListAll);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(alertAllCustomAdapter);
alertAllCustomAdapter.notifyItemRangeChanged(0, alertAllCustomAdapter.getItemCount());
private void spinnerData() {
db = new DataBaseHelper(getApplicationContext());
List<String> lables = db.getAllLabels();
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, lables);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// lables.set(0, "ALL");
spinner.setAdapter(dataAdapter);
}
private List<People> BuildData() {
db = new DataBaseHelper(getApplicationContext());
try {
db.createDataBase();
} catch (IOException ioe) {
throw new Error("Unable to create database");
}
if (db.open()) {
peolesListAll = db.getAllPeople();
}
return peolesListAll;
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
In the onItemSelected
method you can retrieve the selected filter with position
parameter from your spinner data (here the List lables). 在
onItemSelected
方法中,您可以从微调器数据(此处为List标签)中检索带有position
参数的选定过滤器。 Then, re-populate your recylcer adadpter and call adapter.notifyDataSetChanged()
to update the view like this : 然后,重新填充您的Recylcer adadpter并调用
adapter.notifyDataSetChanged()
以更新视图,如下所示:
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String filter = (String) spinner.getAdapter().getItem(position);
// update your peolesListAll according to the selected filter (with loop or anything else)
alertAllCustomAdapter.setData(peolesListAll) // write setData(List<People> data)
alertAllCustomAdapter.notifyDataSetChanged();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.