【问题标题】:Spinner populate with SQLite dependent with another SpinnerSpinner 使用依赖于另一个 Spinner 的 SQLite 填充
【发布时间】:2021-05-06 11:56:03
【问题描述】:

我的应用程序上有 3 个微调器,我必须用我在 Android Studio 上的数据库 (SQLite) 中的数据填充每个微调器。

这是应用程序的渲染: screen shot

我的第一个微调器(Commune,英文为:City)填充了我的数据库

我的问题:

为了填充我的第二个微调器,我想根据我的第一个微调器的选择包含来自我的数据库的数据。

如何返回我的第一个微调器的值以查询我的数据库以获取我的第二个微调器的值?

代码:

/** 从 SQLite 数据库加载微调器数据的函数 */

private void loadSpinnerData() {
    BddCeos db = new BddCeos(getApplicationContext());
    List<String> labelsCommune = db.getAllCommune();
    List<String> labelsPoste = db.getAllPoste();
    List<String> labelsRef = db.getAllRef();

    // Creating adapter for spinner
    ArrayAdapter<String> dataAdapterCommune = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, labelsCommune);
    ArrayAdapter<String> dataAdapterPoste = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, labelsPoste);
    ArrayAdapter<String> dataAdapterRef = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, labelsRef);

    // attaching data adapter to spinner
    spinner_input_commune.setAdapter(dataAdapterCommune);
    spinner_input_nom_poste.setAdapter(dataAdapterPoste);
    spinner_input_ref_wapiti.setAdapter(dataAdapterRef);

}



@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

    // On selecting a spinner item
    String Labels = parent.getItemAtPosition(position).toString();

    // Showing selected spinner item
    Toast.makeText(parent.getContext(), "Vous avez sélectionné : " + Labels, Toast.LENGTH_LONG).show();
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub
}

}

【问题讨论】:

    标签: java android sqlite spinner


    【解决方案1】:

    我自己找到了解决方案:

    spinner_input_commune.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
                    BddCeos db = new BddCeos(getApplicationContext());
    
                    List<String> labelsPoste = db.getFindPosteByCommune(spinner_input_commune.getSelectedItem().toString());
                    ArrayAdapter<String> dataAdapterPoste = new ArrayAdapter<String>(Formulaire.this, android.R.layout.simple_spinner_item, labelsPoste);
                    spinner_input_nom_poste.setAdapter(dataAdapterPoste);
                }
    
                @Override
                public void onNothingSelected(AdapterView<?> parentView) {
                }
    
            });
    
    spinner_input_nom_poste.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
                    BddCeos db = new BddCeos(getApplicationContext());
    
                    List<String> labelsRef = db.getFindRefWapitiByPost(spinner_input_nom_poste.getSelectedItem().toString());
                    ArrayAdapter<String> dataAdapterRef = new ArrayAdapter<String>(Formulaire.this, android.R.layout.simple_spinner_item, labelsRef);
                    spinner_input_ref_wapiti.setAdapter(dataAdapterRef);
                }
    
                @Override
                public void onNothingSelected(AdapterView<?> parentView) {
                }
    
            });
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-09
      • 1970-01-01
      • 2015-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多