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