textview未按预期更新

时间:2012-10-12 23:09:38

标签: android

我在两个不同的活动中有多个TextViewEditText字段。当我进入编辑屏幕时,我可以输入值并更新相应的TextViews。问题是,如果我只编辑一个TextView,则另一个TextViews变为空白,只有我编辑的那些才会显示正确的信息。有什么建议?附件是一段代码。所以基本上,我只希望在更改TextView字段时更改EditText信息,而不是在刚刚选择或滚动EditText时更改。{/ p>

EditText代码:

editTextName.setOnKeyListener(new View.OnKeyListener() {
    public boolean onKey(View v1, int keyCode1, KeyEvent event1) {
        if ((event1.getAction() == KeyEvent.ACTION_DOWN) && (keyCode1 == KeyEvent.KEYCODE_ENTER)) {
            getSharedPreferences("myprefs", 0).edit().putString("editTextName", editTextName.getText().toString()).commit();
            return true;
        }
        return false;
    }
});

相应的TextView

String newName = getSharedPreferences("myprefs", 0).getString("editTextName", this.getString(R.string.name) );
textViewName.setText("Name: "+newName);

1 个答案:

答案 0 :(得分:0)

我只是不明白你想说什么,但我想你想知道文本在edittext中的变化,因为有一个接口,所以你使用这个代码: -

     editTextName.addTextChangedListener(new TextWatcher(){
     public void afterTextChanged(Editable s) {
        if ((event1.getAction() == KeyEvent.ACTION_DOWN) && (keyCode== KeyEvent.KEYCODE_ENTER)) {
        getSharedPreferences("myprefs", 0).edit().putString("editTextName", editTextName.getText().toString()).commit();
        return true;
    }
    public void beforeTextChanged(CharSequence s, int start, int count, int after){}
    public void onTextChanged(CharSequence s, int start, int before, int count){}
}); 

});