更新数据库后的奇怪值

时间:2017-12-30 22:14:42

标签: java android android-sqlite

在我的应用程序中我想在TextView上显示我的数据库的值。 但在更新我的数据库(方法“更改”)后,我在TextView中得到了一些奇怪的代码而不是正常的值。 这是我的代码:

newPreis = (EditText)findViewById(R.id.editTextPreis);
newHerkunft = (EditText)findViewById(R.id.editTextHerkunft);

public void changeDatabase(View view) {
    String pNeu = newPreis.toString();
    String hNeu = newHerkunft.toString();
    db.execSQL("UPDATE DATEN SET preis='"+pNeu+"' WHERE _id=1");
    db.execSQL("UPDATE DATEN SET herkunft='"+hNeu+"' WHERE _id=1");
}

// anzeigeApfel is a TextView

if(pApfel.moveToFirst() && hApfel.moveToFirst()) {
   String prApfel = pApfel.getString(pApfel.getColumnIndex("preis"));
   String herApfel = hApfel.getString(hApfel.getColumnIndex("herkunft"));
   anzeigeApfel.setVisibility(View.VISIBLE);
   anzeigeApfel.setText("" + prApfel + "\n" + herApfel);
}

1 个答案:

答案 0 :(得分:0)

奇怪的代码是因为您使用的是EditText toString方法,而不是检索EditText所持有的值。

您使用EditText方法获取getText所持有的值,然后需要使用String的toString将其转换为Text方法

所以而不是: -

    String pNeu = newPreis.toString();
    String hNeu = newHerkunft.toString();

你应该使用: -

    String pNeu = newPreis.getText().toString();
    String hNeu = newHerkunft.getText().toString();