SwipeRefreshLayout 刷新监听器不调用 onRefresh()

SwipeRefreshLayout Refresh Listener not calling onRefresh()

我目前有一个 SwipeRefreshLayout,它在我下拉时不会调用它的 OnRefresh 方法。我的代码有问题吗?

public class MainActivity extends AppCompatActivity {
private SwipeRefreshLayout swipe_view;

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    swipe_view = (SwipeRefreshLayout) findViewById(R.id.this_will_work);

    swipe_view.setOnRefreshListener(new OnRefreshListener()
    {
        @Override
        public void onRefresh()
        {
            Toast.makeText(getApplicationContext(), "OnRefresh() test", Toast.LENGTH_SHORT).show();
        }
    });

您应该有如下更新的服务或内容:

private void refresh() {
    startService(new Intent(this, UpdaterService.class));
}

然后刷新:

mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_layout);
    mSwipeRefreshLayout.setOnRefreshListener(this);
    mSwipeRefreshLayout.post(new Runnable() {
                                @Override
                                public void run() {
                                    mSwipeRefreshLayout.setRefreshing(true);
                                    refresh();
                                }});

//here refreshed Item
   //getLoaderManager().initLoader(0, null, this);

    if (savedInstanceState == null) {
        refresh();
    }

和您的 onRefresh() 应该包含相同的方法 refresh()