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中显示我写的内容但是我没有成功。
感谢任何帮助!
答案 0 :(得分:0)
尝试以下方法:
public void registermessage(View view) {
spokenwordstring = edittext.getText().toString(); //remove this from onCreate
test.setText(spokenwordstring);
}
当您将spokenwordstring = edittext.getText().toString();
放入onCreate时,您将在创建时保存EditText
的值,该值为空。
答案 1 :(得分:0)
当您在EditText
中输入一些文字时,您的变量spokenwordstring
将无法更新。该变量未绑定到EditText
中的值。
要实现这一目标,您需要在getText()
上执行EditText
。
试试这个。
public void registermessage(View view) {
spokenwordstring = edittext.getText().toString();
test.setText(spokenwordstring);
}
答案 2 :(得分:0)
您在o spokenwordstring = edittext.getText().toString();
方法中呼叫onCreate
。这样做的问题是信息尚未输入EditText
。因此,在调用registerMessage()
之前,请从方法setText
调用该行。
答案 3 :(得分:0)
你说有一个按钮可以工作,但我没有在你的代码中看到它。作为替代方案,您可以在EditText中添加OnKeyListener
,并在用户使用方向键或点击回车键时使用它来更新TextView。 (您必须检查侦听器中的键代码。)