加载微调内容

时间:2016-01-29 05:11:11

标签: android android-spinner

在标记为重复之前,请阅读帖子。

我在我的应用中使用Spinner,并使用onCreate方法从服务器填充数据。
如果onCreate用户在互联网连接期间,一切正常 在其他情况下,Spinner有一个项目"选择一个项目"
我需要一个解决方案来在运行时再次加载微调器的数据 (如果在每次用户点击微调器时都没有加载onCreate()) 理想的解决方案就像onFocusChaneListenner - 在这里我可以在用户点击微调器时从服务器上传数据。
但不幸的是,它似乎不起作用,我看不出这个选择。

Spinner spinner = (Spinner) rootView.findViewById(R.id.spinner);
spinner.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {

               // here would would be great to update when receive focus
            }
        });

我想到了custom Spinner的实现,当Spinner有一个或零个迭代时,onItemSelected将被调用。
但是这里用户必须选择一些东西(或什么都没有),然后再次返回它以查看更新的数据,因此它看起来并不理想。
我是否应该检查数据是否在一段时间后被加载而不依赖于用户与Spinner的交互?

1 个答案:

答案 0 :(得分:2)

如果要在Spinner Interaction上加载数据,请使用OnTouchListener

Spinner spinner = (Spinner) rootView.findViewById(R.id.spinner);
spinner.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
       if(event.getAction() == MotionEvent.ACTION_UP){
          // load data here
       }
       return false;
    }
});
相关问题