I'm developing a android application which aims to show a list on the screen with the contents present in the user dictionary.
The problem is that when I compile and run the application in the Android API Level 23 Content Provider return a Cursor with no item, without any data.
It's strange because the API's preceding 23 (22, 21, 19, ...) the app runs and displays the data in the ListView normally.
Below is the code of my Activity:
import android.app.LoaderManager;
import android.content.CursorLoader;
import android.content.Loader;
import android.database.Cursor;
import android.provider.UserDictionary;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements LoaderManager.LoaderCallbacks<Cursor> {
private ListView listView;
private SimpleCursorAdapter adapter;
private static final String[] COLUMNS = {
UserDictionary.Words.WORD,
UserDictionary.Words._ID,
UserDictionary.Words.LOCALE
};
private static final int[] LIST_ITEM_VIEWS = {
R.id.name,
R.id.id_word,
R.id.locale
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.list);
adapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.item_list, null, COLUMNS, LIST_ITEM_VIEWS, 0);
listView.setAdapter(adapter);
getLoaderManager().initLoader(0, null, this);
}
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
return new CursorLoader(getApplicationContext(), UserDictionary.Words.CONTENT_URI, COLUMNS,
null, null, UserDictionary.Words.WORD);
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
adapter.swapCursor(data);
}
@Override
public void onLoaderReset(Loader<Cursor> loader) {
adapter.swapCursor(null);
}
}
This was reported here: Android Issue Traker
Official response: Working as intended. This feature has been remove effectively since API 23.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With