Java SwipeRefreshLayout刷新侦听器未调用onRefresh()
我目前有一个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
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”
如果不使用onLoadFinishgetLoaderManager().initLoader(0,null,this),则可以散列此行代码>不过,每当我下拉刷新时,都不会调用任何方法。另外,setColorSchemeResources()
在调用时不会更改颜色,因此在这一点上,我认为我的应用程序有问题+1但是为了帮助我,你应该把你的刷新项目放在上面,而不是我写的评论,如果你在线检索数据或其他东西,updaterservice会更新它。在这一行上面放上你的刷新项目if(savedInstanceState==null)