仅在从网络获取数据后显示微调器选项
Show spinner options only after fecthing data from web
如何仅在从 Web 上获取其未来项目后才显示微调器选项?
如果用户触摸微调器,我想先从网络上获取数据,解析它并设置为微调器项目。获取/解析工作正常,但问题是微调器选项显示得太早。我希望它仅在 获取数据后 出现。
所以,简而言之,我想要一种方法来防止在从 Web 上获取列表之前弹出微调器。
没你想的那么难。当您开始登录时 activity 将微调器清空并再次将其填充到 AsyncTask 的 onPostExecute 方法中。
就是这样。
经过几个小时的努力,我终于做到了。
结果如下:
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' 和
Returns
True if the listener has consumed the event, false otherwise.
有了这些信息,我只需要创建一些代码,如果我想显示这些项目,returns 为 false,否则为 true。
出于某种原因,我觉得不应该像这样使用它,但它完全符合我的要求。
如何仅在从 Web 上获取其未来项目后才显示微调器选项?
如果用户触摸微调器,我想先从网络上获取数据,解析它并设置为微调器项目。获取/解析工作正常,但问题是微调器选项显示得太早。我希望它仅在 获取数据后 出现。
所以,简而言之,我想要一种方法来防止在从 Web 上获取列表之前弹出微调器。
没你想的那么难。当您开始登录时 activity 将微调器清空并再次将其填充到 AsyncTask 的 onPostExecute 方法中。
就是这样。
经过几个小时的努力,我终于做到了。
结果如下:
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' 和
Returns
True if the listener has consumed the event, false otherwise.
有了这些信息,我只需要创建一些代码,如果我想显示这些项目,returns 为 false,否则为 true。
出于某种原因,我觉得不应该像这样使用它,但它完全符合我的要求。