Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.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 如何引用实现接口的活动?_Java_Android - Fatal编程技术网

Java 如何引用实现接口的活动?

Java 如何引用实现接口的活动?,java,android,Java,Android,第三个参数是错误的,我在mainActivity中实现了LoaderManager.LoaderCallbacks getSupportLoaderManager().initLoader(LOADER_ID,getUrlBundle(),this); 为什么会这样 public class MainActivity extends AppCompatActivity implements MovieAdapter.movieAdapterClickHandler,LoaderMana

第三个参数是错误的,我在mainActivity中实现了LoaderManager.LoaderCallbacks

getSupportLoaderManager().initLoader(LOADER_ID,getUrlBundle(),this);
为什么会这样

    public class MainActivity extends AppCompatActivity implements MovieAdapter.movieAdapterClickHandler,LoaderManager.LoaderCallbacks<List<Movie>> {
    ...
@Override

        protected void onCreate(Bundle savedInstanceState) {
    ...


   getSupportLoaderManager().initLoader(LOADER_ID,getUrlBundle(),this);
    }
    ...

@Override
    public Loader<List<Movie>> onCreateLoader(int i, final Bundle bundle) {
        return new AsyncTaskLoader<List<Movie>>(this) {
            @Override
            protected void onStartLoading() {
                if(bundle==null)
                    return;
                progressBar.setVisibility(View.VISIBLE);
                errorMessage.setVisibility(View.INVISIBLE);
                forceLoad();

            }

            @Override
            public List<Movie> loadInBackground() {
                /* Extract the url from the args using our constant */
                String UrlString = bundle.getString(URL_EXTRA);

                /* If the user didn't enter anything, there's nothing to search for */
                if (UrlString == null || TextUtils.isEmpty(UrlString)) {
                    return null;
                }

                return QueryUtils.fetchMovieData(UrlString);
            }

            @Override
            public void deliverResult(List<Movie> data) {
                super.deliverResult(data);
            }
        };



    }

    @Override
    public void onLoadFinished(Loader<List<Movie>> loader, List<Movie> movies) {
        if (movies != null && !movies.isEmpty()) {
            movieAdapter.MovieAdapterUpdate(movies);
            progressBar.setVisibility(View.INVISIBLE);
        } else {
            progressBar.setVisibility(View.INVISIBLE);
            errorMessage.setText("No data returned");
            errorMessage.setVisibility(View.VISIBLE);

        }
    }


    @Override
    public void onLoaderReset(Loader<List<Movie>> loader) {

    }
    }

如果您对正在使用的加载程序类使用了错误的导入,则可能会发生这种情况。例如,如果您正在使用

import android.support.v4.content.AsyncTaskLoader;
import android.support.v4.content.Loader;
import android.support.v7.app.AppCompatActivity;
连同

import android.app.LoaderManager;
当您混合支持依赖项和非支持依赖项时,您将得到错误的第三个参数警告。鉴于这将起作用:

import android.support.v4.app.LoaderManager;


您需要传递加载程序回调

尝试getSupportLoaderManager.initLoaderLOADER_ID、getUrlBundle、MainActivity.this;这似乎是因为进口
initLoader(int id, Bundle args, LoaderCallbacks<D> callback)