gpt4 book ai didi

android - 在 Activity 中初始化 Loader

转载 作者:IT老高 更新时间:2023-10-28 21:56:55 26 4
gpt4 key购买 nike

我目前正在尝试学习如何使用加载器,但在我的 Activity 中启动加载器时遇到了问题。

import android.support.v4.app.LoaderManager;
import android.support.v4.content.Loader;

public class ASwitchActivity extends Activity implements
LoaderManager.LoaderCallbacks<SampleLoader.SampleLoaderResult> {

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getLoaderManager().initLoader(0, null, this);
}

public Loader<SampleLoader.SampleLoaderResult> onCreateLoader(int id, Bundle args) {
return new SampleLoader(getBaseContext(), account, "dog");
}

public void onLoadFinished(Loader<SampleLoader.SampleLoaderResult> loader, SampleLoader.SampleLoaderResult out)
{
TextView t=(TextView)findViewById(R.id.testTV);
t.setText("yay");
}

public void onLoaderReset(Loader<SampleLoader.SampleLoaderResult> loader){

}
}

但是 Eclipse 给出了一个错误说明:

The method initLoader(int, Bundle, LoaderManager.LoaderCallbacks) in the type LoaderManager is not applicable for the arguments (int, null, ActivitySwitchActivity)

谁能帮忙解决我哪里出错了?

最佳答案

我可以看到您使用 supportV4 库。所以要实现 Loader 你应该做一些事情:

  1. 从 FragmentActivity 类扩展您的 Activity
  2. 使用 getSupportLoaderManager 方法代替 getLoaderManager

这里是示例代码:

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.Loader;
import android.widget.Toast;

public class MyActivity extends FragmentActivity implements LoaderManager.LoaderCallbacks<Object> {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getSupportLoaderManager().initLoader(0, null, this);
}

@Override
public Loader<Object> onCreateLoader(int i, Bundle bundle){
return null; // TODO
}

@Override
public void onLoadFinished(Loader loader, Object o) {
Toast.makeText(this, "onLoadFinished", Toast.LENGTH_SHORT).show();
}

@Override
public void onLoaderReset(Loader loader) {
Toast.makeText(this, "onLoaderReset", Toast.LENGTH_SHORT).show();
}
}

关于android - 在 Activity 中初始化 Loader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9918397/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com