0

2 番目のスピナーがある場合、最初のスピナーに依存する 2 番目のスピナーの情報を MySQL データベースから取得します。最初のスピナーの選択に依存します。それは私と一緒に動作しない原因

私は持っているクラス 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>

しかし、それは仕事ではありません

私が言ったように持っている場合、どうすれば解決できますか

4

1 に答える 1

0

私があなたの質問を理解した場合、データベースからの検索に基づいて 2 番目のスピナーに入力するために、最初のスピナーを選択する必要があります。

アダプター 1 ( adapter1 = new MyCustomAdapter(MainActivity.this, android.R.layout.simple_spinner_item, coursesList);) courseList が配列の場合、次の setOnItemSelectedListeners のスピナーから選択された項目を取得できますcourseList [position]

選択したアイテムを取得したら、データベースでクエリを実行する関数が必要です。たとえば、データベースload_all_selection(courseList [position])から結果の配列を返す必要があります。

配列を返すので、アダプタ 2 を次のように定義
adapter2 = new MyCustomAdapter(MainActivity.this, android.R.layout.simple_spinner_item, load_all_selection(courseList [position]));
して、2 番目のスピナーに割り当てることができます。spinner2.setAdapter(adapter2);

関数の定義を除いて、これはすべて setOnItemSelectedListener パーツ内から実行できますload_all_selection(...)

私はあなたの質問を理解し、これが役に立てば幸いです。そうでない場合でも、別の解決策を探すことができます。

于 2012-11-17T14:42:44.577 に答える