Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515

    Android..non modifica il database

    ciao a tutti!!!

    ho creato un database...ma non riesco a modificare...

    Questo è il codice:
    codice:
    import com.example.karlive.DataHelper;
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    
    public class EditRow extends Activity {
    	/** Called when the activity is first created. */
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    	super.onCreate(savedInstanceState);
    	setContentView(R.layout.edit_row);
    	
    	final DataHelper dh = new DataHelper(this);
    	Intent intent = getIntent();
    	Book book = (Book)intent.getSerializableExtra("edit");
    	
    	final EditText nome = (EditText)findViewById(R.id.nome_row);
    
    	nome.setText(book.getNome());
    
    	
    	Button cancel = (Button)findViewById(R.id.indietro);
    	Button save = (Button)findViewById(R.id.salva_modifica);
    	
    	final Intent addIntent = new Intent(this, EditRow.class);
    	final Intent homeIntent = new Intent(this, Database.class);
    	
    	save.setOnClickListener(new View.OnClickListener() {
    		@Override
    		public void onClick(View arg0) {
    		Book book = new Book();
    		book.setNome(nome.getText().toString());
    		dh.editBook(book);
    		startActivity(homeIntent);
    		}
    	});
    	}
    }
    in pratica non fa nulla non mi modifica niente!!!!

    come mai????

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    codice:
    Book book = new Book()
    book.setNome(nome.getText().toString());
    dh.editBook( book );
    L'istruzione in grassetto crea un nuovo oggetto, di conseguenza non è lo stesso oggetto che tu cerchi di modificare, di conseguenza, andrà in errore o, quantomeno, non effettuerà la modifica perchè quell'oggetto non esiste nel database.

    Quello che devi fare è dichiarare "final" l'oggetto Book che sta fuori dal Listener (quello che ottieni con getSerializableExtra() ) e utilizzare quel riferimento per la modifica.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    grazie mille!!! ho risolto!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.