Tengo una tabla en SQLite que guarda dos monto (monto_uno(Double), monto_dos(Double)), en el cual no hay problemas al guardar por ejemplo: 1500.58
Efectivamente me guarda el registro, el problema que presento es cuando quiero actualizar estos.
Para mostrar monto_uno y _dos uso
Código:
, para que me muestre en formato 1.500,58.DecimalFormat numberFormat = new DecimalFormat("#,###,###,##0.00");
monto_uno y _dos los muestro en un TextView.
Código:
Me e dado cuenta que como formateo y lo muestro en un textView al momento de actualizar se guarda 1,5.editText2.setText(numberFormat.format(cursor.getDouble(1)));
Sitien un fragmento de código que me muestre una alternativa se los agradecería.
Este es un ejemplo sencillo de lo que estoy tratando de hacer.
Código:
import java.text.DecimalFormat; import java.util.regex.Pattern; import android.app.Activity; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class ejemplo extends Activity{ Context context = this; public TextView editText1; public TextView editText2; public TextView editText3; public Button button1; public Button button2; public Button button3; public double costo_uno; public double costo_dos; DepartamentosActivity DepartamentosActivity; static LoadDataBase db; SQLiteDatabase sqlldb; DecimalFormat numberFormat = new DecimalFormat("#,###,###,##0.00"); DecimalFormat numberFormatDos = new DecimalFormat("#######0.00"); Pattern pat = Pattern.compile("^[0-9]{1,3}([\\.][0-9]{3})*[\\,][0-9]{2}$"); public String monto_uno; public String monto_dos; public ejemplo() {} protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ejemplo_layout); button1 = (Button) findViewById(R.id.button1); button2 = (Button) findViewById(R.id.button2); button3 = (Button) findViewById(R.id.button3); editText1 = (TextView) findViewById(R.id.editText1); editText2 = (TextView) findViewById(R.id.editText2); editText3 = (TextView) findViewById(R.id.editText3); DepartamentosActivity = new DepartamentosActivity(); LoadDataBase database = new LoadDataBase(this, null, null, 1); database.todos("ejemplo"); button1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if(editText2.getText().length() > 0){ db = new LoadDataBase(context, null, null, 0); ContentValues values = new ContentValues(); sqlldb = db.getWritableDatabase(); values.put("cost_uno", editText2.getText().toString()); values.put("cost_dos", editText3.getText().toString()); long insert = sqlldb.insert("ejemplo", null, values); if(insert !=-1){ Toast.makeText(context, "Registro Guardado", 2000).show(); }else{ Toast.makeText(context, "Error Guardando", 2000).show(); } Log.e("editText1"," : " + editText2.getText().toString() + " : " +editText3.getText().toString()); }else{ Toast.makeText(context, "Camp vacio", 2000).show(); } } }); button2.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if(editText1.getText().length() > 0){ db = new LoadDataBase(context, null, null, 0); sqlldb = db.getWritableDatabase(); String sql = "SELECT * FROM ejemplo WHERE cost_id='"+editText1.getText().toString()+"';"; Cursor cursor = sqlldb.rawQuery(sql, null); if(cursor.moveToFirst()){ //costo_uno =cursor.getString(1); //costo_dos =cursor.getDouble(2); editText2.setText(numberFormat.format(cursor.getDouble(1))); editText3.setText(numberFormat.format(cursor.getDouble(2))); //editText3.setText(numberFormat.format(costo_dos)); //editText2.setText(cursor.getString(1)); //editText3.setText(cursor.getString(2)); } }else{ Toast.makeText(context, "Camp vacio", 2000).show(); } } }); button3.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if(editText1.getText().length() > 0 ){ db = new LoadDataBase(context, null, null, 0); sqlldb = db.getWritableDatabase(); ContentValues values = new ContentValues(); Log.e("cambio", " : " + editText2.getText().toString()); values.put("cost_uno", monto_uno); values.put("cost_dos", monto_dos); long update = sqlldb.update("ejemplo", values, "cost_id=" + "'"+editText1.getText().toString()+ "'", null); if(update !=-1){ Toast.makeText(context, "Registro Actualizado", 2000).show(); }else{ Toast.makeText(context, "Error Actualizacion", 2000).show(); } db.close(); }else{ Toast.makeText(context, "Camp vacio", 2000).show(); } } }); } }