如何执行选择微调项的任务
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}
我想在 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}