如果我有2个旋转器,则第二个依赖于第一个 我将从MySQL数据库中检索第二个微调器的信息取决于第一个微调器的选择我多次获取第一个微调器的id但是我没有 如何将它发送到另一个因为它不能与我合作
我的MainActivity类包含:
new LoadAllCourses().execute(); //first spinner generation
new LoadAllSection().execute(); //second spinner
class LoadAllCourses extends AsyncTask<String, String, String>
中的
adapter1 = new MyCustomAdapter(MainActivity.this,
android.R.layout.simple_spinner_item,
coursesList);
spinner1.setAdapter(adapter1); // Set the custom adapter to the spinner
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) {
HashMap<String, String> map12 = coursesList.get(position);
String id3 = map12.get("CourseID");
// Do something
Log.d("All coursesdddddddddddddddddddddddddddddddddddd: ", id3);
// Do something
}
@Override
public void onNothingSelected(AdapterView<?> adapter) {
}
});
现在我想获取id3并将其发送到
class LoadAllSection extends AsyncTask<String, String, String>
但它不起作用
如果我按照我的说法怎么解决呢?
答案 0 :(得分:0)
如果我理解了您的问题,则需要在第一个微调器上进行选择,以便从数据库中搜索以填充第二个微调器。
如果在适配器1(adapter1 = new MyCustomAdapter(MainActivity.this,
android.R.layout.simple_spinner_item,
coursesList);
)courseList是一个数组,那么可以从setOnItemSelectedListeneras中的微调器中获取所选项目courseList [position]
。
获得所选项目后,您需要一个函数在数据库中执行查询,比如说load_all_selection(courseList [position])
,它应该返回数据库中的结果数组。
由于它返回一个数组,你可以按如下方式定义适配器2
adapter2 = new MyCustomAdapter(MainActivity.this,
android.R.layout.simple_spinner_item,
load_all_selection(courseList [position]));
并将其分配给第二个微调器spinner2.setAdapter(adapter2);
所有这些都可以在setOnItemSelectedListener部分内完成,除了load_all_selection(...)
函数的定义。
我希望我理解你的问题,这有帮助。如果没有,你仍然可以寻找不同的解决方案。