微调器选择项目以使用数据库 android 打开新数组列表

spinner selected item to open new array list using database android

我在 RecyclerView 和一个过滤器 select 的顶部显示多行,过滤器打开 Spinner 和 select Spinner 项目仅打开 selected 列表如何显示
我是 android 编程的新手

我的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) {

}

onItemSelected 方法中,您可以使用 position 参数从微调器数据(此处为列表标签)中检索选定的过滤器。然后,重新填充您的 recylcer 适配器并调用 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();
}