在我的应用程序中,我想在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);
}
奇怪的代码是因为你使用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();