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();
}
}
});
}
}


