如何执行选择微调项的任务

How to perform a task on selecting spinner item

我想在 selecting 微调器项上执行异步任务并将一些数据添加到另一个微调器。如果我 select 一个项目,它会很好地工作。但它会自动执行 AsyncTask,即使没有 selecting。这是我试过的

    district
                .setAdapter(new ArrayAdapter<String>(MainActivity.this,
                        android.R.layout.simple_spinner_dropdown_item,
                        ssservice));

        // Spinner on item click listener
        district
                .setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

                    @Override
                    public void onItemSelected(AdapterView<?> arg0,
                                               View arg1, int position, long arg3) {
                        // TODO Auto-generated method stub
                      //  ed_spinner = district.getSelectedItem().toString();
                       new NetCheck2().execute();

                    }

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

如何仅在单击微调项后才执行异步任务。请帮助我。

微调器设计不当。不幸的是,当您调用 spinner.setOnItemSelectedListener 时,它会自动调用 onItemSelected。这不是您的代码的问题,微调器就是这样设计的。我知道它不好,但这就是它的工作原理。

解决方法

如果假设您的微调器有 4 个条目,请在顶部再添加一个条目,即第 0 个位置,现在当创建微调器时 onItemClicked 被调用并且它的位置为 0。所以只需放置一个 if 条件

if (!(position == 0)){//do your stuff}