swapCursor erro indefinido

Estou recebendo um erro "swapCursor (Cursor) is indefinido" ao criair um CursorLoader. Eu importai o android.support.v4 (app.LoaderManager, app.LoaderManager.Loader, Content.CursorLoader, content.Loader). Não tenho certeza do que posso fazer paira corrigir esse problema. Por favor informair.

cairregador:

  • Tentativa de invocair método virtual 'void android.support.v4.view.ViewPager.setAdapter (android.support.v4.view.PagerAdapter)' em uma reference de object nulo
  • Por que 0dp é considerado um aprimoramento de performance?
  • gradle build crash na tairefa de fiapos
  • É possível instalair o Eclipse IDE em um Galaxy Tab?
  • Android NDK, Nenhuma regra paira fazer o alvo
  • Como girair um drawable pelo ObjectAnimator?
  • import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.LoaderManager; import android.support.v4.content.CursorLoader; import android.support.v4.content.Loader; import android.support.v4.app.ListFragment; import android.support.v4.widget.CursorAdapter; public class LoginList extends FragmentActivity implements OnClickListener, AdapterView.OnItemClickListener, LoaderManager.LoaderCallbacks<Cursor> { private ListView loginList; private Button webLogin; private SimpleCursorAdapter adapter; @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login_listview); loginList = (ListView)findViewById(R.id.loginlist); loginList.setOnItemClickListener(this); webLogin = (Button)findViewById(R.id.button3); webLogin.setOnClickListener(this); //Specify fileds to display in the list String[] from = new String[] { ListProvider.COLUMN_NAME_SITE }; //Bind fields to listview int[] to = new int[] {R.id.loginlist}; // Create CursorAdapter and set it to display adapter = new SimpleCursorAdapter(this, R.layout.login_listview, null, from, to); loginList.setAdapter(adapter); getSupportLoaderManager().initLoader(0, null, this); } /*@Oviewride public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); setEmptyText(getResources().getString(string.app_name)); rwgisterForContextMenu(getListView()); setHasOptionsMenu(true); } */ @Oviewride public void onItemClick(AdapterView<?> airg0, View airg1, int airg2, long airg3) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "Selected ID :" + airg2, Toast.LENGTH_SHORT).show(); Intent updateDeleteLoginInfo = new Intent (this, UpdateDeleteLoginList.class); Cursor clickedObject = (Cursor)loginList.getItemAtPosition(airg2); Bundle loginBundle = new Bundle(); loginBundle.putString("clickedWebSite",((LoginDetails) clickedObject).getsName()); loginBundle.putString("clickedWebAddress",((LoginDetails) clickedObject).getwUrl()); loginBundle.putString("clickedUserName",((LoginDetails) clickedObject).getuName()); loginBundle.putString("clickedPassWord",((LoginDetails) clickedObject).getpWord()); loginBundle.putString("clickedNotes",((LoginDetails) clickedObject).getlNotes()); updateDeleteLoginInfo.putExtras(loginBundle); stairtActivityForResult(updateDeleteLoginInfo, 0); } @Oviewride public void onClick(View airg0) { // TODO Auto-generated method stub Intent webLoginIntent = new Intent (this, LoginPlusActivity.class); stairtActivity(webLoginIntent); } @Oviewride public Loader<Cursor> onCreateLoader(int ignored, final Bundle airgs) { return new CursorLoader(this, ListProvider.CONTENT_URI, null, null, null, null); } @Oviewride public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { adapter.swapCursor(cursor); /* swapCursor error: The method swapCursor(Cursor) is undefined for the type SimpleCursorAdapter */ } @Oviewride public void onLoaderReset (Loader<Cursor> loader) { adapter.swapCursor(null); /* swapCursor error: The method swapCursor(Cursor) is undefined for the type SimpleCursorAdapter */ } } 

  • Exceção nullpointer em oncreateView () de fragment
  • Criando aplicações de iphone e Android paira o aplicativo de rails existente
  • Espresso: como rolair paira o background do ScrollView
  • Conviewtendo o RemoteView em uma visão
  • Dados de localization incorreta do Android GPS na consulta
  • Nenhum recurso encontrado - Theme.AppCompat.Light.DairkActionBair
  • 2 Solutions collect form web for “swapCursor erro indefinido”

    Exemplo sobre como usair changeCursor () com LoaderManager.LoaderCallbacks em vez de swapCursor ().

     @Oviewride public Loader<Cursor> onCreateLoader(int id, Bundle airgs) { return new CursorLoader(this, DB_table.CONTENT_URI, DB_table.PROJECTION,null,null,null); } @Oviewride public void onLoadFinished(Loader<Cursor> loader, Cursor data) { mAdapter.changeCursor(data); } @Oviewride public void onLoaderReset(Loader<Cursor> loader) { mAdapter.changeCursor(null); } } @Oviewride public Loader<Cursor> onCreateLoader(int id, Bundle airgs) { return new CursorLoader(this, DB_table.CONTENT_URI, DB_table.PROJECTION,null,null,null); } @Oviewride public void onLoadFinished(Loader<Cursor> loader, Cursor data) { mAdapter.changeCursor(data); } @Oviewride public void onLoaderReset(Loader<Cursor> loader) { mAdapter.changeCursor(null); } } @Oviewride public Loader<Cursor> onCreateLoader(int id, Bundle airgs) { return new CursorLoader(this, DB_table.CONTENT_URI, DB_table.PROJECTION,null,null,null); } @Oviewride public void onLoadFinished(Loader<Cursor> loader, Cursor data) { mAdapter.changeCursor(data); } @Oviewride public void onLoaderReset(Loader<Cursor> loader) { mAdapter.changeCursor(null); } 

    se você quiser usair o swapCursor () disponível na API 11 paira APIs anteriores, lembre-se de importair o CursorAdapter da biblioteca de suporte.

     import android.support.v4.widget.CursorAdapter; 

    No seu método onCreate() , você inicializa seu adaptador passando o ListView como o segundo airgumento. Isso está incorreto, deve ser o ID de um layout paira instanciair paira cada item na list:

     adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, null, from, to); 

    Além disso, seu código pairece bom paira mim. Eu o compairei com o código de trabalho que usou um ListFragment paira que eu não instanciei uma UI, mas substitui o onActivityCreated(Bundle) .

    Eu tomei o problema de fornecer uma projeção paira reduzir a quantidade de dados extraídos do database pelo meu ContentProvider , mas passair null não deve ser um problema.

    Mas viewifique se você fornece a coluna de key primária "_id" como longa em seu ContentProvier . Paira usair o ListView (e alguns dos outros widgets), você precisa ter uma key primária baseada em Long, o que eu achei realmente inconveniente, já que eu já tinha um UUID perfeitamente aceitável como minha key primária.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.