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

标签 android android-spinner

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

    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}

关于android - 如何执行选择微调项的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33428665/

相关文章:

android - 你如何序列化 Android Intents?

android - 应用程序安装大小在不同的Android设备上是不同的

android - 微调器问题中的动态数组

java - removeView( View )在 ViewGroup 的子类中不起作用

Android Studio 说 "cannot resolve symbol"但项目编译

android - “明天”定义为 @sys.date 实体不设置第二天的闹钟

android - 使用 Retrofit 动态填充微调器?

java - 如何移动微调下拉菜单以便可以看到所选的选项?

java - 如何使用没有任何背景的android启动器图标

android - 如何在操作栏上添加下拉项