2015-10-30 118 views
1

我想在选择微调器项目时添加一些异步任务并将一些数据添加到另一个微调器。如果我选择一个项目,它效果很好。但即使没有选择,它也会自动执行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 
        } 
       }); 

如何在点击微调项目后才执行Async Task。请帮帮我。

+0

用户onitemclick听者代替onitemselected听者 –

+2

@AnandSavjani OnItemClickeListener()不能与离心器 – Priyanka

+0

我使用'spinner.setOnItemClickListener'使用。所以你不能说它不能用于微调 –

回答

4

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

解决方法

如果假设你的微调有4个条目,添加在顶部,即第0位一个条目,现在创建onItemClicked微调时被调用,它将具有0位置,如果条件所以只是把该

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

如果用户选择位置说第5个项目并在第二个尝试选择第一个项目时该怎么办?它应该仍然执行异步任务恐怕它不会在这个逻辑 – Dhina

+0

@DhinakaranThennarasu不,我们已经过滤,如果条件。 –

+0

@ deepu513如果我选择的第一个项目异步任务没有执行 – Priyanka

相关问题