CursorLoader を使用して、コンテンツ プロバイダーを使用してデータベースにクエリを実行し、name 列から値を取得します。次に、アクティビティの onCreate() メソッドで SimpleCursorAdapter を使用して ListView に入力します。別のアクティビティに移動してリストビューに戻ったときにリストが更新されるように、アクティビティの onStart() メソッドでアダプターを再度実装する必要があるかどうかを知りたいです。しかし、CursorLoader はデータベースの更新を自動的にリッスンするので、それは必要ないと思いました。しかし、アクティビティに戻ったときにリストビューにデータが取り込まれません。
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Show the Up button in the action bar.
setupActionBar();
mAdapter = new SimpleCursorAdapter(this,com.example.test.R.layout.list_view , null,
fromColumns, toViews,0);
setListAdapter(mAdapter);
listview = getListView();
listview.setAdapter(mAdapter);
View addButton=findViewById(R.id.add);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent i=new Intent(getApplicationContext(), Enter.class);
startActivity(i);
}
}
);
getLoaderManager().initLoader(LIST_ID, null, this);
}
public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
// TODO Auto-generated method stub
Uri CONTENT_URI=Uri.parse("content://" + "com.example.test" + "/University");
return new CursorLoader(this,CONTENT_URI, PROJECTION, SELECTION, null, null);
}
@Override
public void onLoadFinished(Loader<Cursor> arg0, Cursor arg1) {
// TODO Auto-generated method stub
mAdapter.swapCursor(arg1);
}
@Override
public void onLoaderReset(Loader<Cursor> arg0) {
// TODO Auto-generated method stub
mAdapter.swapCursor(null);