从EditText显示字符串

时间:2013-08-25 14:30:12

标签: android string view android-edittext textview

我想将TextView显示为可编辑的应用程序“Google Keep”,但

  EditText text = (EditText)findViewById(R.id.edittext);
  String value = text.getText().toString();

无效

3 个答案:

答案 0 :(得分:5)

你好我已经做了一个我认为你可以使用的例子:

布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" 
android:orientation="vertical"
>

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:textColor="#FF0000"
    android:text="@string/hello_world" />

<EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<Button
    android:id="@+id/getInfoButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="GET INFO" 
    android:layout_gravity="center_horizontal"
    />

</LinearLayout>

MainActivity

package com.example.testedittext;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

private TextView info;
private EditText input;
private Button getInfo;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    info = (TextView) findViewById(R.id.textView);
    input = (EditText)findViewById(R.id.editText);
    getInfo = (Button)findViewById(R.id.getInfoButton);
    getInfo.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            String inputText = input.getText().toString();
            info.setText(inputText);
        }
    });

}


}

这是输出:

Edit Text Example

希望这有帮助, 干杯

答案 1 :(得分:3)

这是以编辑文本的字符串格式获取文本的正确语法。

String“value”的值现在实际上是“”,因为你调用了

text.getText().toString(); 
在实例化EditText文本之后

立即。你可以想象,它创建的那一刻,里面没有文字,所以这就是为什么“value”有一个空字符串。

如果您想在特定的电话中检索edittext的值,我建议您在xml布局中添加一个按钮,并在您的代码中添加:

Button button = (Button) findViewById(R.id.somebutton);
button.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
     text.getText().toString();         
}

});

当您单击按钮时,这将获取edittext的当前String值。

答案 2 :(得分:0)

你必须在其他地方使用值String,它会告诉你它没有被使用。 然后,您必须在您进行更改以设置该ediettext的值的时间点使用该段代码。