Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从EditText获取文本字符串?_Java_Android_Android Edittext - Fatal编程技术网

Java 从EditText获取文本字符串?

Java 从EditText获取文本字符串?,java,android,android-edittext,Java,Android,Android Edittext,似乎我不知道如何从EditText中获取文本字符串。 我想在按下按钮时使用EditText中的文本 layout.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/popup_menu_root" android:background="#FFFF

似乎我不知道如何从
EditText
中获取文本字符串。 我想在按下按钮时使用
EditText
中的文本

layout.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/popup_menu_root"
    android:background="#FFFFFF"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <Button android:id="@+id/popup_menu_button"
        android:text="ok"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
    <EditText
        android:id="@+id/edittext"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

我自己解决了这个问题:

final EditText edittextDescription = (EditText) findViewById(R.id.edittext);
一定是

final EditText edittextDescription =  (EditText)layout.findViewById(R.id.txtDescription);
然后我可以这样做,得到字符串

String s = edittext.getText().toString();
试试这个:

EditText edt = (EditText)findViewById(R.id.edittext);
String xyz = edt.getText().toString();

您不能只执行
String String=(EditText)layout.findViewById(R.id.txtDescription).getText().toString
?是的,您可以。但两次查找比同时保留对EditText的引用要慢。@Shark 2018年的查找速度还会慢吗?你能详细说明一下为什么速度慢吗?我是一只好奇的猫,它总是比较慢。Android在用户界面方面不是很聪明——这就是为什么它会生成R.java文件,其中包含一个特定视图的生成/硬编码ID列表,这样你就可以通过它们的父母在屏幕上“找到”它们。也就是说,如果您找到它一次,并保存对该视图的引用,那么多次获取它的字符串文本将比再次找到它(N次)并获取它的字符串内容更快。不过,你可以自由测量速度有多快。
EditText txtDescription =
        (EditText) layout.findViewById(R.id.txtDescription);


String message = txtDescription.getText().toString(); 
EditText edt = (EditText)findViewById(R.id.edittext);
String xyz = edt.getText().toString();