2016-06-01 17 views
-1

だから私はインテントのエクストラからTextViewを読み込んで、ユーザがそれを編集できるようにしています。ユーザーが編集ボタンをタップすると、TextViewにテキストが表示されたEditTextが表示されます。バンドルエクストラを編集して保存する

ユーザーは新しい値を入力できます。

最後に保存ボタンを押すと、新しい値が保存されず、古い値が引き続き表示されます。

は、ここに私のコードです:私は間違って

Bundle extras = getIntent().getExtras(); 
     if (extras != null){ 
      textViewNazivTodoaDetails.setText(extras.getString("naslov")); 
      textViewDatumTodoaDetails.setText(extras.getString("datum")); 
      final int id = extras.getInt("id"); 

      String oldText = extras.getString("naslov"); 
      editTextDetaljnoIspravljanje.setText(oldText); 
     } 

     final String newText = editTextDetaljnoIspravljanje.getText().toString(); 

     buttonDetaljnoIspravljanjeDone.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       textViewNazivTodoaDetails.setText(newText); 
      } 
     }); 


    } 

何をしているのですか?

+0

onClickListener内に__String newText = editTextDetaljnoIspravljanje.getText()。toString(); __を入れてください。 – Nabin

+0

ありがとうございました! – DaxHR

答えて

1

onClick内のテキストを古いテキストに戻すことは、次の行で明確に設定しています。

textViewNazivTodoaDetails.setText(newText); 

onClickの中にこの行は必要ありません。この代わりに、新しい値を保存したい場所に保存するコードが必要です。

newTextを初期化したコード行は、編集する前に呼び出され、oldTextと同じ値が含まれています。したがって、古いテキストが再び表示されます。

あなたのテキストビューにはすでに新しく入力されたテキストがあります。

関連する問題