comment faire pour actualiser la liste à l'aide du Curseur de l'Adaptateur

J'ai créé un ListView à l'aide de CursorAdapter . Maintenant, je suis en train de mettre à jour le ListView et d'Actualisation de la valeur à la ListView .

Mais je ne suis pas en mesure de comprendre . Comment travailler avec Loader ou changeCursor() pour actualiser mon ListView

Ci-dessous Mon code de réglage de la CursorAdapter :

//Relevé ici

SQLDataSore datastore = new SQLDataSore(PrintContent.this);

Cursor cursor                 = datastore.getJSONData();

final CursorDemo cursorDemo = new CursorDemo(PrintContent.this, cursor);

list_View.setAdapter(cursorDemo);

Mon Button onClick je mets à jour la Valeur dans la Base de données
//Relevé

btn_check.setOnClickListener( new OnClickListener() {

            @Override
            public void onClick(View view ) {

                String editTextValue = edit_check.getText().toString();

                if (editTextValue!=null) {


                    SQLDataSore sqlDataSore = new SQLDataSore(PrintContent.this);

                    Cursor cursor_update = sqlDataSore.updateData(editTextValue);

//Here How Should I update my ListView ...?
                }

            }

Mon UpdateData Méthode:

public Cursor updateData(String editContent){

        SQLiteDatabase updateContent = getReadableDatabase();


        Cursor cursor_update = updateContent.rawQuery( "update " +TABLE_NAME + " set content = '"+ editContent
                +"' "+" where _id = 357", null);

        return cursor_update;
    }

CursorDemo Classe

public class CursorDemo extends CursorAdapter{

        public CursorDemo(Context context, Cursor c) {

            super(context, c , false);
            //TODO Auto-generated constructor stub
        }

        @Override
        public void changeCursor(Cursor cursor) {
            //TODO Auto-generated method stub
            super.changeCursor(cursor);
        }

        @Override
        public void bindView(View view, Context context, Cursor cursor) {
            //TODO Auto-generated method stub

            TextView txt_content        = (TextView) view.findViewById(R.id.txt_content);
            TextView txt_likes_count    = (TextView) view.findViewById(R.id.txt_likescount);
            TextView txt_name         = (TextView) view.findViewById(R.id.txt_name);
            TextView txt_display_name = (TextView) view.findViewById(R.id.txt_display_name);

            txt_content.setText(cursor.getString(cursor.getColumnIndex("content")));

        }

        @Override
        public View newView(Context context , Cursor cursor, ViewGroup viewGroup) {
            //TODO Auto-generated method stub
            LayoutInflater inflater = LayoutInflater.from(context);
            View view = inflater.inflate(R.layout.message_row_view, viewGroup ,false);

            return view;
        }

    }

Toute Aide est Appréciée...
});

  • appel adapter.notifyDataSetChanged()
  • adapter.notifyDataSetChanged() travaillé uniquement lorsque l'adaptateur valeur a changé de nouveaux à valeur ajoutée ou retirée précédemment.Dans votre cas, votre curseur de valeur est mise à jour, mais l'adaptateur n'est pas modifié sa valeur.
InformationsquelleAutor nitesh | 2013-12-19