是什么让我的EditText空的? [英] What Makes My EditText Empty?
问题描述
我创建的数据库。我用的EditText将数据插入到我的数据库。有在我的edittexts的问题。当我用日志,以显示我的edittexts数据,但它们是空的。我不明白问题出在哪里。请帮帮我。先谢谢了。
添加数据:
公共无效AddData(){
的setContentView(R.layout.dbase2);
E1的EditText =(EditText上)findViewById(R.id.eText1);
的EditText E2 =(EditText上)findViewById(R.id.eText2);
E3的EditText =(EditText上)findViewById(R.id.eText3);
E4的EditText =(EditText上)findViewById(R.id.eText4); 字符串BN = dContents;
。字符串PN = e1.getText()的toString();
。字符串在= e2.getText()的toString();
。字符串TP = e3.getText()的toString();
。字符串PY = e4.getText()的toString(); SQLiteDatabase分贝= book.getWritableDatabase();
ContentValues CV =新ContentValues(); cv.put(带bnumBN);
cv.put(PNAME,PN);
cv.put(作者,AT);
cv.put(类型,TP);
cv.put(pyear,PY); db.insert(BTABLE,空,CV);
db.close();
}
DBASE 2.XML
<的TextView
机器人:ID =@ + ID / T1
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignParentTop =真
机器人:layout_centerHorizontal =真
机器人:layout_marginTop =27dp
机器人:文字=ÜrünISMI
机器人:textAppearance =机器人:ATTR / textAppearanceMedium/> <的TextView
机器人:ID =@ + ID / T2
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_below =@ + ID / eText1
机器人:layout_centerHorizontal =真
机器人:文字=Yazar
机器人:textAppearance =机器人:ATTR / textAppearanceMedium/> <的EditText
机器人:ID =@ + ID / eText2
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignLeft =@ + ID / eText1
机器人:layout_below =@ + ID / T2
机器人:EMS =10/> <的EditText
机器人:ID =@ + ID / eText1
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_below =@ + ID / T1
机器人:重力=顶
机器人:layout_centerHorizontal =真
机器人:EMS =10>
< requestFocus的/>
< /&的EditText GT; <的TextView
机器人:ID =@ + ID / T3
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignLeft =@ + ID / T2
机器人:layout_below =@ + ID / eText2
机器人:文字=Türü
机器人:textAppearance =机器人:ATTR / textAppearanceMedium/> <的EditText
机器人:ID =@ + ID / eText3
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignLeft =@ + ID / eText2
机器人:layout_below =@ + ID / T3
机器人:EMS =10/> <的TextView
机器人:ID =@ + ID / textView1
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignRight =@ + ID / T1
机器人:layout_below =@ + ID / eText3
机器人:文字=Yayın仪礼
机器人:textAppearance =机器人:ATTR / textAppearanceMedium/> <的EditText
机器人:ID =@ + ID / eText4
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignLeft =@ + ID / eText3
机器人:layout_below =@ + ID / textView1
机器人:EMS =10/>
<按钮
机器人:ID =@ + ID /添加
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_below =@ + ID / eText4
机器人:layout_centerHorizontal =真
机器人:layout_marginTop =36dp
机器人:文字=KayıtEkle/>< / RelativeLayout的> < / pre>
您的问题是要声明一个EditText,并在同一时间读取它的价值。因此,这将是空白的所有的时间。
你应该做的是,声明你的EditText在onCreate()方法,并获取它像的onClick()事件的一些价值;
试试我的方法,
公共无效AddData()
{
的setContentView(R.layout.dbase2);
E1的EditText =(EditText上)findViewById(R.id.eText1);
的EditText E2 =(EditText上)findViewById(R.id.eText2);
E3的EditText =(EditText上)findViewById(R.id.eText3);
E4的EditText =(EditText上)findViewById(R.id.eText4);
}公共无效的onClick(查看视图)//我假设你有一个命令按钮
{ 字符串BN = dContents;
。字符串PN = e1.getText()的toString();
。字符串在= e2.getText()的toString();
。字符串TP = e3.getText()的toString();
。字符串PY = e4.getText()的toString(); SQLiteDatabase分贝= book.getWritableDatabase();
ContentValues CV =新ContentValues(); cv.put(带bnumBN);
cv.put(PNAME,PN);
cv.put(作者,AT);
cv.put(类型,TP);
cv.put(pyear,PY); db.insert(BTABLE,空,CV);
db.close();
}
I created the database. I used edittext to insert data to my database. There is a problem in my edittexts. When i used log to show the data in my edittexts but they are empty. I don't understand where the problem is. Please help me. Thanks in advance.
Adding Data:
public void AddData() {
setContentView(R.layout.dbase2);
EditText e1 = (EditText) findViewById(R.id.eText1);
EditText e2 = (EditText) findViewById(R.id.eText2);
EditText e3 = (EditText) findViewById(R.id.eText3);
EditText e4 = (EditText) findViewById(R.id.eText4);
String bn = dContents;
String pn = e1.getText().toString();
String at = e2.getText().toString();
String tp = e3.getText().toString();
String py = e4.getText().toString();
SQLiteDatabase db = book.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("bNum", bn);
cv.put("pName", pn);
cv.put("author", at);
cv.put("type", tp);
cv.put("pyear", py);
db.insert("btable", null, cv);
db.close();
}
Dbase 2.xml
<TextView
android:id="@+id/t1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="27dp"
android:text="Ürün İsmi"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/t2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/eText1"
android:layout_centerHorizontal="true"
android:text="Yazar"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/eText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/eText1"
android:layout_below="@+id/t2"
android:ems="10" />
<EditText
android:id="@+id/eText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/t1"
android:gravity="top"
android:layout_centerHorizontal="true"
android:ems="10" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/t3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/t2"
android:layout_below="@+id/eText2"
android:text="Türü"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/eText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/eText2"
android:layout_below="@+id/t3"
android:ems="10" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/t1"
android:layout_below="@+id/eText3"
android:text="Yayın Yılı"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/eText4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/eText3"
android:layout_below="@+id/textView1"
android:ems="10" />
<Button
android:id="@+id/adding"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/eText4"
android:layout_centerHorizontal="true"
android:layout_marginTop="36dp"
android:text="Kayıt Ekle" />
</RelativeLayout> </pre>
Your problem is you are declaring an EditText and fetching its value at same time. So it will be blank all the time.
What you should do is, declare your EditText in onCreate() method and fetch it's value on some event like onClick();
Try my way,
public void AddData()
{
setContentView(R.layout.dbase2);
EditText e1 = (EditText) findViewById(R.id.eText1);
EditText e2 = (EditText) findViewById(R.id.eText2);
EditText e3 = (EditText) findViewById(R.id.eText3);
EditText e4 = (EditText) findViewById(R.id.eText4);
}
public void onClick ( View view ) // I am assuming you have one command Button
{
String bn = dContents;
String pn = e1.getText().toString();
String at = e2.getText().toString();
String tp = e3.getText().toString();
String py = e4.getText().toString();
SQLiteDatabase db = book.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("bNum", bn);
cv.put("pName", pn);
cv.put("author", at);
cv.put("type", tp);
cv.put("pyear", py);
db.insert("btable", null, cv);
db.close();
}
这篇关于是什么让我的EditText空的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!