2015-10-30 92 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

相關問題