0

我正在开发一个带有 2 个微调器的页面,其中第一个微调器具有从 DB 填充的某些类别。根据从 spinner1 中选择的值,在方法 setReportNamesContent() 中传递 selectedCategoryName。我还在第二个微调器中填充了值,但我无法在第二个微调器中进行选择。我的想法是在单击按钮时传递这两个选定的值,但总是在单击按钮时传递来自第二个微调器的第一个值。

protected void setReportCategory(String loginName) {        
        map = DBManager.getInstance().reportCategoryListByLoggedInUser(loginName);      
        reportCategoryList = new ArrayList<String>(map.keySet());
        Collections.sort(reportCategoryList);
        reportCategorySpinnner = (Spinner) findViewById(R.id.ReportCategoryList);
        reportCategorySpinnner.setOnItemSelectedListener(this);
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, reportCategoryList);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        reportCategorySpinnner.setAdapter(dataAdapter);
    }


@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {   
    switch(parent.getId()){     
    case R.id.ReportCategoryList:
        selectedCategoryName = parent.getItemAtPosition(position).toString();
        break;
    case R.id.ReportNameList:
        selectedReportName = parent.getItemAtPosition(position).toString();
        break;
    }   

if(!isEmptyOrNull(selectedCategoryName))
        setReportNamesContent(selectedCategoryName);
}   

private void setReportNamesContent(String selectedCategoryName) {
    reportNameList = map.get(selectedCategoryName);
    Collections.sort(reportNameList);
    reportNameSpinnner = (Spinner) findViewById(R.id.ReportNameList);
    reportNameSpinnner.setOnItemSelectedListener(this);
    ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, reportNameList);
    dataAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    reportNameSpinnner.setAdapter(dataAdapter1);
}   

我已经在这个网站上提出了各种问题,并尝试了所有这些问题,但都没有工作。请建议一个有效的答案

4

0 回答 0