1

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);
4

1 に答える 1