如何将编辑文本输入发送到特定字符串

时间:2014-04-23 02:37:40

标签: android string input textview android-edittext

我想将编辑文本发送到特定字符串,以便每次用户在编辑文本中键入内容时,无论每次将用户类型发送到同一字符串。现在,该字符串表示用户在该特定编辑文本框中键入的内容。我现在将使用此字符串在文本视图中显示字符串。这有可能,你怎么能这样做?

基本上我也希望编辑文本中的文本与文本视图中的文本相同。

我尝试做的代码示例:

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));

2 个答案:

答案 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,每次StringEditText更改时,它都会将新文本设置为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