如何使 SwipeRefreshLayout 不可滑动?

How to make a SwipeRefreshLayout not swipeable?

我的一项活动有一个刷新按钮。每当用户按下该按钮时,我想使用 SwipeRefreshLayout 刷新动画,但我不希望用户能够向下滑动以刷新屏幕。有什么办法可以做到这一点吗?

你试过吗;

  //button clicked...
  //show loader, disable further pulltorefresh requests
  //do some timed task
  pullToRefresh.setRefreshing(true);

  //Task done...
  //hide loader, allow pulltorefresh requests
  pullToRefresh.setRefreshing(false);

我在片段中使用;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.my_fragment, container, false);

    pullToRefresh = (SwipeRefreshLayout)view.findViewById(R.id.pullToRefresh);
    pullToRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {

        @Override

        public void onRefresh() {

            refreshContent();


        }

    });


    Button refresh = (Button) view.findViewById(R.id.refreshMethod);
    refresh.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            refreshContent();

        }
    });

    return view;

}



refreshContent() {

   //call Async task via RetrieveFeedTask extends AsyncTask<Void, Void, String> {}

    new RetrieveFeedTask().execute();

}


 class RetrieveFeedTask extends AsyncTask<Void, Void, String> {

   private Exception exception;
   protected void onPreExecute() {

      recycler.clearOnScrollListeners();
      pullToRefresh.setRefreshing(true);

   }

   protected String doInBackground(Void... urls) {

      //do task like get JSON from server
      //try sleep for a bit
      try {
        Thread.sleep(2000);
      } catch (InterruptedException error) {
      }

   }



   protected void onPostExecute(String response) {

           //do post stuff
           //hide pullfresh, full refresh view done
           pullToRefresh.setRefreshing(false);


   }

 }

你试过吗swipeRefreshLayout.setEnabled(false);?然后你可以简单地在按钮的监听器中调用 setRefreshing(true)setRefreshing(false)