程序需要有儘可能少的滯後越好。不幸的是,在下面的代碼中inputWord.setText("");
略微滯後。無論如何要解決這個滯後問題嗎?非常感謝幫助。安卓滯後設定文本的文本框
public void addInputWordListener(){
inputWord.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
if(s.toString().equals("")){
topView.setTextColor(Color.WHITE);
return;
}
if (s.toString().endsWith(" ")){ //submitting a word
token = s.toString().trim();
System.out.println("1");
if (token.equalsIgnoreCase(topView.getText().toString())){
System.out.println("2");
inputWord.setText("");
System.out.println("3");
topView.setText(midView.getText());
System.out.println("4");
midView.setText(botView.getText());
System.out.println("5");
botView.setText(MainMenu.we.nextWord());
System.out.println("6");
}else
{
topView.setTextColor(Color.RED);
}
}
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {}
});
}
這裏有疑運行logcat的輸出:
04-07 02:41:10.539: I/System.out(13152): 1
04-07 02:41:10.539: I/System.out(13152): 2
04-07 02:41:10.549: I/System.out(13152): 3
04-07 02:41:10.549: I/System.out(13152): 4
04-07 02:41:10.549: I/System.out(13152): 5
04-07 02:41:10.549: I/System.out(13152): 6
取出日誌語句。日誌實際上很慢。 – 2013-04-07 06:25:25
你指的是System.out.println的嗎?我很抱歉......這些是爲了追蹤哪些操作讓代碼變得遲緩。它介於2和3之間 – user1363410 2013-04-07 06:30:33
您是否指的是System.out.println的?我很抱歉......由於LogCat具有高度精確的時間跟蹤功能,因此可以利用這些代碼來跟蹤哪部分代碼執行時間最長。所以我用這些println來標記相對滯後定位的時間戳。我總結出printlns「2」和「3」之間存在滯後。 – user1363410 2013-04-07 06:36:20