Java 如何显示EditText中的文本?

Java 如何显示EditText中的文本?,java,android,textview,android-edittext,Java,Android,Textview,Android Edittext,好的,我正在使用代码: EditText editText = (EditText) findViewById(R.id.editText1); String value = editText.getText().toString(); 从EditText获取文本,但如何使其显示在TextView中?另外,如果TextView处于不同的活动中,代码将如何更改 像这样: 我试过这样做: EditText input = (EditText) findViewById(R.id.edit

好的,我正在使用代码:

EditText editText = (EditText) findViewById(R.id.editText1);
String value = editText.getText().toString();
从EditText获取文本,但如何使其显示在TextView中?另外,如果TextView处于不同的活动中,代码将如何更改

像这样:

我试过这样做:

    EditText input = (EditText) findViewById(R.id.editText1);
    String thing = input.getText().toString();

    TextView display = (TextView) findViewById(R.id.textView1);
    String text = display.getText().toString();

    text.setText(thing);
但是我在这一行中得到一个错误“类型字符串的方法setText(字符串)未定义”:

text.setText(thing);
对问题1的答复:


使用
TextView.setText(CharSequence text,TextView.BufferType)
使文本视图显示所需的文本

例如,您可以安装文本更改侦听器


见例。然后执行
textField.setText(text),而不是呈现

要执行此操作,您需要从编辑视图获取文本并设置文本视图: 使用预定义的getter和setter是小菜一碟

您需要像对EditText所做的那样膨胀文本视图,然后使用.setText方法

如果textview处于新活动中,则需要在intent中发送信息,例如:

startActivity(new Intent(AndroidActivity.this, Activity2.class).putExtra("user", user.getText().toString()));
然后在你的新活动中,它可以作为

String s = getIntent().getStringExtra("user")

要解决此特定错误,请使用

display.setText(thing);
当前,您正在将字符串设置为另一个字符串,并且没有像settext for string这样的函数可用。
另外,如果您希望这种情况在运行中发生(当用户输入文本时更新textview),请使用文本监视程序进行此操作。

为edittext定义事件处理程序,每当其文本发生更改时,将其提取并显示。setText()

我希望这有帮助

如何让它以文本视图显示

下面是一段代码,每当按下键盘上的[strong>回车键[strong>(我看到您在对另一个答案的评论中要求这样做)时,该代码将使用[strong>输入[strong>(示例中使用的编辑文本)的内容更新显示[strong>(示例中使用的文本视图):

上面的代码位于单个活动中

另外,如果TextView处于不同的活动中,代码将如何更改

如果display(示例中的文本视图)在另一个活动中,则更新它的一种快速方法是将输入的值(示例中的编辑文本)存储为,并将display活动的onResume读取为值:

// Activity with display
public class DisplayActivity extends Activity {
    private TextView display;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // get reference to the TextView
        display = (TextView) findViewById(R.id.textView1);
    }

    public void onResume() {
        super.onResume();
        String inputsValue = getSharedPreferences("myprefs", 0)
                .getString("input", "" /** Default value*/);

        display.setText(inputsValue);
    }
}

// Activity with input
public class InputActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // get reference to EditText and store in SharedPreference
        final EditText input = (EditText) findViewById(R.id.editText1);
        input.setOnKeyListener(new OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
                        (keyCode == KeyEvent.KEYCODE_ENTER)) {
                      getSharedPreferences("myprefs", 0).edit()
                          .putString("input", input.getText().toString()).commit();
                      return true;
                }
                return false;
            }
        });
    }
}

您应该用代码常量替换我代码中所有硬编码的字符串文字

这不是每次用户更改文本时更新布局的好主意。。。文本更改可以在键入时非常快地触发,尤其是在使用退格删除字符时。最好在用户准备好更新布局时有一个按钮进行更新。那么,当用户按return/enter时,如何让它进行更新呢?
// Activity with display
public class DisplayActivity extends Activity {
    private TextView display;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // get reference to the TextView
        display = (TextView) findViewById(R.id.textView1);
    }

    public void onResume() {
        super.onResume();
        String inputsValue = getSharedPreferences("myprefs", 0)
                .getString("input", "" /** Default value*/);

        display.setText(inputsValue);
    }
}

// Activity with input
public class InputActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // get reference to EditText and store in SharedPreference
        final EditText input = (EditText) findViewById(R.id.editText1);
        input.setOnKeyListener(new OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
                        (keyCode == KeyEvent.KEYCODE_ENTER)) {
                      getSharedPreferences("myprefs", 0).edit()
                          .putString("input", input.getText().toString()).commit();
                      return true;
                }
                return false;
            }
        });
    }
}