簡體   English   中英

微調器選擇的項目以使用數據庫android打開新的數組列表

[英]spinner selected item to open new array list using database android

我在RecyclerView顯示了多行,並在一個過濾器的頂部選擇了過濾器,打開了Spinner然后選擇Spinner項目以僅打開選定列表,如何顯示
我在android編程中是新的

我的課

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方法中,您可以從微調器數據(此處為List標簽)中檢索帶有position參數的選定過濾器。 然后,重新填充您的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM