私はAndroid用のアプリケーションを開発していましたが、私はLoaderManagerに問題が発生しました。私は、次のコードを使用しようとするたびに:それは私に語っAndroid getLoaderManager()。私はこれを使用できないと言っているinitLoader
getLoaderManager().initLoader(0, null, this);
私はこれを使用することができません。ここに私のコードの一部です:ここで
public class MainActivity extends AppCompatActivity implements LoaderManager.LoaderCallbacks<Cursor> {
private CursorAdapter cursorAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
insertNote("New Note");
String[] from = {DBComHelper.NOTE_TEXT};
int[] to = {android.R.id.text1};
cursorAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, null, from, to, 0);
ListView list = (ListView) findViewById(android.R.id.list);
list.setAdapter(cursorAdapter);
getLoaderManager().initLoader(0, null, this);
}
は、アクティビティコードは次のとおりです。
package com.berendhulshof.privatenotes;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader;
import android.support.v4.widget.CursorAdapter;
import android.support.v4.widget.SimpleCursorAdapter;
import android.support.v7.app.AppCompatActivity;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ListView;
public class MainActivity extends AppCompatActivity implements LoaderManager.LoaderCallbacks<Cursor> {
private CursorAdapter cursorAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
insertNote("New Note");
String[] from = {DBComHelper.NOTE_TEXT};
int[] to = {android.R.id.text1};
cursorAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, null, from, to, 0);
ListView list = (ListView) findViewById(android.R.id.list);
list.setAdapter(cursorAdapter);
getLoaderManager().initLoader(0, null, this);
}
private void insertNote(String noteText) {
ContentValues values = new ContentValues();
values.put(DBComHelper.NOTE_TEXT, noteText);
Uri noteUri =
getContentResolver().insert(NotesProvider.CONTENT_URI, values);
Log.d("MainActivity", "Inserted note " + noteUri.getLastPathSegment());
}
@Override
public Loader onCreateLoader(int id, Bundle args) {
return new CursorLoader(this, NotesProvider.CONTENT_URI, null, null, null, null);
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
cursorAdapter.swapCursor(data);
}
@Override
public void onLoaderReset(Loader loader) {
cursorAdapter.swapCursor(null);
}
}
誰かが私が間違ってここにやっているものを私に説明してくださいできますか?
この質問の答えは働いた:http://stackoverflow.com/questions/40058584/implementing-loadercallbacks-in-activity-android –