是什么让我的EditText空的? [英] What Makes My EditText Empty?

查看:181
本文介绍了是什么让我的EditText空的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建的数据库。我用的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_centerHorizo​​ntal =真
        机器人: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_centerHorizo​​ntal =真
        机器人:文字=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_centerHorizo​​ntal =真
        机器人: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_centerHorizo​​ntal =真
        机器人: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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆