仅在从Web获取数据后显示微调器选项

时间:2015-02-18 02:05:37

标签: android spinner

如何在从网络上获取其中的待定项目后才显示微调器选项?

如果用户触摸微调器,我想首先从Web获取数据,解析它并设置为微调器项。提取/解析效果很好,但问题是spinner选项显示得太快。我希望它仅在数据被提取后出现

所以,简而言之,我想要一种方法来阻止微调器弹出,直到从网络上提取列表。

2 个答案:

答案 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方法中填充它。

就是这样。