0
public class MainActivity extends Activity {

public final static String EXTRA_MESSAGE = "com.example.realapptest1.MESSAGE";

TextView test;
EditText edittext;
String spokenwordstring;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    test = (TextView)findViewById(R.id.textView2);
    edittext = (EditText)findViewById(R.id.spokenmsg);
    spokenwordstring = edittext.getText().toString();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}


public void registermessage(View view) {
    test.setText(spokenwordstring);

}

基本上,我试图用上面的代码在 TextView 上的 EditText 中显示我写的任何内容,但我没有成功。

任何帮助表示赞赏!

4

4 回答 4

0

你说有一个可以工作的按钮,但我在你的代码中没有看到它。作为替代方案,您可以将 a 添加OnKeyListener到您的 EditText 并在用户使用方向键或按 Enter 键时使用它来更新 TextView。(您必须检查侦听器中的关键代码。)

于 2013-06-10T19:11:46.523 回答
0

尝试以下操作:

public void registermessage(View view) {
  spokenwordstring = edittext.getText().toString(); //remove this from onCreate
  test.setText(spokenwordstring);
}

当您放入spokenwordstring = edittext.getText().toString();onCreate 时,您将保存EditText创建时的值,该值是空的。

于 2013-06-10T19:07:46.520 回答
0

当您在变量中输入一些文本时,EditText您的变量spokenwordstring将不会得到更新。该变量未绑定到您的EditText.

要使其正常工作,您需要getText()EditText. 尝试这个。

public void registermessage(View view) {
  spokenwordstring = edittext.getText().toString();
  test.setText(spokenwordstring);
}
于 2013-06-10T19:08:30.883 回答
0

你正在调用spokenwordstring = edittext.getText().toString();你的 oonCreate方法。这样做的问题是信息尚未输入到EditText. registerMessage()因此,在调用之前从方法中调用该行setText

于 2013-06-10T19:08:46.910 回答