Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SwipeRefreshLayout刷新侦听器未调用onRefresh()_Java_Android_Swiperefreshlayout - Fatal编程技术网

Java SwipeRefreshLayout刷新侦听器未调用onRefresh()

Java SwipeRefreshLayout刷新侦听器未调用onRefresh(),java,android,swiperefreshlayout,Java,Android,Swiperefreshlayout,我目前有一个SwipeRefreshLayout,每当我下拉它时,它不会调用OnRefresh方法。我的代码有问题吗 public class MainActivity extends AppCompatActivity { private SwipeRefreshLayout swipe_view; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceStat

我目前有一个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()

抛出一个错误,说明:
错误的第三个参数类型。找到:“my.app.name.MainActivity”,必需:“android.app.LoaderManager.LoaderCallbacks”
如果不使用onLoadFinish
getLoaderManager().initLoader(0,null,this),则可以散列此行不过,每当我下拉刷新时,都不会调用任何方法。另外,
setColorSchemeResources()
在调用时不会更改颜色,因此在这一点上,我认为我的应用程序有问题+1但是为了帮助我,你应该把你的刷新项目放在上面,而不是我写的评论,如果你在线检索数据或其他东西,updaterservice会更新它。在这一行上面放上你的刷新项目
if(savedInstanceState==null)