如何在从网络上获取其中的待定项目后才显示微调器选项?
如果用户触摸微调器,我想首先从Web获取数据,解析它并设置为微调器项。提取/解析效果很好,但问题是spinner选项显示得太快。我希望它仅在数据被提取后出现。
所以,简而言之,我想要一种方法来阻止微调器弹出,直到从网络上提取列表。
答案 0 :(得分:1)
经过几个小时的尝试,我完成了它。
结果如下:
mySpinner.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
boolean shouldHide = false;
if (event.getAction() == MotionEvent.ACTION_UP) {
shouldHide = someBooleanMethod();
}
return shouldHide;
}
});
和
private boolean someBooleanMethod(){
if(pseudoSpinnerItemCount == 1){
//doStuff
return true;
}else{
// let the user select an option
return false;
}
}
在android.developer
中View.OnTouchListener
调用'onTouch'和
返回
如果侦听器已使用该事件,则为True,否则为false。
有了这些信息,我只需创建一些代码,如果我希望显示项目,则返回false,否则为true。
由于某种原因,我觉得这不应该像这样使用,但它完全按照我想要的方式工作。
答案 1 :(得分:0)
你想的并不是那么难。当你开始登录活动时,让你的微调器空着&再次在AsyncTask的onPostExecute方法中填充它。
就是这样。