3

2 つの異なるアクティビティに複数TextViewEditTextフィールドがあります。編集画面に移動すると、値を入力でき、対応する値TextViewsが更新されます。問題は、1 つだけを編集するとTextView、もう1 つTextViewsが空白になり、編集したものだけが正しい情報を表示することです。助言がありますか?コードのスニペットが添付されています。したがって、基本的には、フィールドが変更されたときにのみ情報が変更され、選択またはスクロールされTextViewたときに情報が変更されることはありません。EditTextEditText

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

1 に答える 1

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

});

于 2012-10-13T05:55:08.793 に答える