如何在EditText中设置文本

时间:2011-01-04 05:40:12

标签: android textview android-edittext

如何设置EditText的文本?

12 个答案:

答案 0 :(得分:207)

如果您查看EditText的文档,则会找到setText()方法。它需要StringTextView.BufferType。例如:

EditText editText = (EditText)findViewById(R.id.edit_text);
editText.setText("Google is your friend.", TextView.BufferType.EDITABLE);

它还会继承TextView的{​​{1}}和setText(CharSequence)方法,因此您可以将其设置为常规setText(int)

TextView

答案 1 :(得分:19)

String string="this is a text";
editText.setText(string)

我发现String是一个有用的CharSequence间接子类

http://developer.android.com/reference/android/widget/TextView.html找到setText(CharSequence文本)

http://developer.android.com/reference/java/lang/CharSequence.html

答案 2 :(得分:4)

String text = "Example";
EditText edtText = (EditText) findViewById(R.id.edtText);
edtText.setText(text);

检查出EditText只接受字符串值,必要时将其转换为字符串。

如果是int,double,long值,请执行:

String.value(value);

答案 3 :(得分:3)

使用+,字符串连接运算符:

 ed = (EditText) findViewById (R.id.box);
    int x = 10;
    ed.setText(""+x);

或使用

String.valueOf(int):
ed.setText(String.valueOf(x));

或使用

Integer.toString(int):
ed.setText(Integer.toString(x));

答案 4 :(得分:2)

您可以设置android:text="your text";

<EditText
    android:id="@+id/editTextName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/intro_name"/>

答案 5 :(得分:2)

如果你正在使用 kotlin 那么它会给你错误如果你这样做

editText.text = "some string"

就像使用它

editText.setText("some string")

答案 6 :(得分:1)

答案 7 :(得分:1)

你需要:

  1. 声明EditText in the xml file
  2. 在活动中找到EditText
  3. EditText
  4. 中设置文字

答案 8 :(得分:1)

这是Kotlin中的解决方案

val editText: EditText = findViewById(R.id.main_et_name)
    editText.setText("This is a text.")

答案 9 :(得分:1)

Android Java解决方案:

  1. 启动您的EditText,ID出现在您的xml ID中。

    EditText myText = (EditText)findViewById(R.id.my_text_id);
    
  2. 在您的OnCreate方法中,只需按定义的名称设置文本即可。

    String text = "here put the text that you want"
    
  3. 使用editText中的setText方法。

    myText.setText()
    

答案 10 :(得分:1)

如果要在设计时在xml文件中设置文本,只需简单地android:text="username"添加此属性。

<EditText
    android:id="@+id/edtUsername"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="username"/>

如果您想以Java编程方式设置文本

EditText edtUsername = findViewById(R.id.edtUsername);
edtUsername.setText("username");

,在kotlin中,就像使用getter / setter的java一样

edtUsername.setText("username")

但是,如果您想从原理上使用.text,那么

edtUsername.text = Editable.Factory.getInstance().newEditable("username")

因为EditText.text首先需要editable而不是String

答案 11 :(得分:-2)

public boolean checkUser(String email, String password) {

    // array of columns to fetch
    String[] columns = {
            COLUMN_USER_ID
    };
    SQLiteDatabase db = this.getReadableDatabase();

    // selection criteria
    String selection = COLUMN_USER_EMAIL + " = ?" + " AND " + COLUMN_USER_PASSWORD + " = ?";

    //selection arguments
    String[] selectionArgs = {email, password};
    Cursor cursor = db.query(TABLE_USER, //Table to query
            columns,                     //columns to return
            selection,                   //columns for the WHERE clause
            selectionArgs,               //The values for the WHERE clause
            null,                        //group the rows
            null,                        //filter by row groups
            null);                       //The sort order

    int cursorCount = cursor.getCount();
    cursor.close();
    db.close();
    if (cursorCount > 0) {
        return true;
    }
    return false;
}