2015-04-06 38 views
0

我得到了一個用戶可以寫入文本的文本框,並將文本保存到首選項中,以便文本保持與留下的相同。但我一定是做了一些錯誤的事情,因爲當它刷新首選項並且你再次進入該屏幕時,文本已經被複制並放置在彼此之間,並且存儲的文本的一部分不可移除。Textfield複製文本

這是從來就怎麼做:

public final String fieldString = ""; 
public final String areaString = ""; 

// 


final TextField textField = new TextField(prefs.getString(fieldString),textstyle); 

    textField.setX(250); 
    textField.setY(800); 
    textField.setMaxLength(23); 
    textField.setWidth(textWidth); 
    textField.setHeight(textHeight); 
stageText.addActor(textField); 

我刷新首選項爲用戶單擊後退按鈕到mainscreen。

btnArrow.addListener(new ChangeListener() { 

       @Override 
       public void changed(ChangeEvent event, Actor actor) { 


        game.setScreen(0); 


        //Saves the entered text. 


        prefs.putString(fieldString, textField.getText()); 
        prefs.putString(areaString, textArea.getText()); 


        prefs.flush(); 

       } 


      }); 
+1

您可以使用prefs.removeString(..); – Aakash 2015-04-06 02:00:49

+0

我假設這個鍵是空的就是這個樣例。我沒有使用libgdx,但這看起來很奇怪 – user210504 2015-04-06 02:08:03

+0

user3541465 51 - 是的。但我仍然需要用戶輸入文字來顯示。這個問題必須簡單地說就是每次按鈕刷新一個新的字符串被創建和存儲? – Benni 2015-04-06 02:54:32

回答

0

沒有看到導航代碼,從你的描述,它聽起來就像彼此的頂部獲取添加多個文本字段每次您返回到屏幕上的時間。