我想将编辑文本发送到特定字符串,以便每次用户在编辑文本中键入内容时,无论每次将用户类型发送到同一字符串。现在,该字符串表示用户在该特定编辑文本框中键入的内容。我现在将使用此字符串在文本视图中显示字符串。这有可能,你怎么能这样做?
基本上我也希望编辑文本中的文本与文本视图中的文本相同。
我尝试做的代码示例:
EditText AValue = (EditText) view.findViewById(R.id.editText1);
AValue.setText( R.string.EditTextInput );
//What I want to do: Whatever User Types is always = String R.string.EditTextInput
//User makes input equal a String when they press a button, which brings to new activity with text views
文字观看活动
private void populatescheduleList() {
myschedule.add(new schedule_view("G Band", R.string.EditTextInput));
答案 0 :(得分:1)
您可以执行以下操作:
yourEditText.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
yourString = s.toString();
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
});
答案 1 :(得分:1)
您可以使用TextWatcher
收听EditText
中的文字更改。这个TextWatcher
子类需要TextView
,每次String
中EditText
更改时,它都会将新文本设置为TextView
。
public class EditTextWatcher implements TextWatcher {
private final TextView target;
private EditTextWatcher(TextView target) {
this.target = target;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
this.target.setText(s);
}
}
你会这样:
editText.addTextChangedListener(new EditTextWatcher(textView));
当然,你必须小心这样的听众。如果必须,请不要忘记稍后删除TextWatcher
!