06-18 08:56:19.466: W/KeyCharacterMap(1097): No keyboard for id 0 06-18 08:56:19.466: W/KeyCharacterMap(1097): Using default keymap: /system/usr/keychars/qwerty.kcm.bin 06-18 08:56:21.964: D/szipinf(1097): Initializing inflate state 06-18 08:56:22.054: D/szipinf(1097): Initializing zlib to inflate 06-18 08:56:34.638: I/TAG(1097): [TextWatcher][onTextChanged]c 06-18 08:56:34.638: I/TAG1(1097): 0 06-18 08:56:34.643: I/TAG2(1097): 0 06-18 08:56:34.643: I/TAG3(1097): 1 06-18 08:56:37.112: I/TAG(1097): [TextWatcher][onTextChanged]ca 06-18 08:56:37.112: I/TAG1(1097): 0 06-18 08:56:37.112: I/TAG2(1097): 1 06-18 08:56:37.122: I/TAG3(1097): 2 06-18 08:56:38.772: I/TAG(1097): [TextWatcher][onTextChanged]cab 06-18 08:56:38.822: I/TAG1(1097): 0 06-18 08:56:38.822: I/TAG2(1097): 2 android.widget.TextView.checkForRelayout(TextView.java:5491) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2724) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567) 06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567) 06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567) 06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567) 06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567) 06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567) 06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567) 06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567) 06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727) com.main.Display$6.onTextChanged(Display.java:207) 06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnT
//拼写单词设置
edittext1=(EditText)findViewById(R.id.edittext1); edittext1.addTextChangedListener(new TextWatcher(){ @Override public void afterTextChanged(Editable arg0) { // TODO Auto-generated method stub //arg0.clear(); } @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { // TODO Auto-generated method stub
} @Override public void onTextChanged(CharSequence s, int arg1, int arg2, int arg3) { // TODO Auto-generated method stub String strs=textview2.getText().toString(); char[] character=strs.toCharArray(); String st=edittext1.getText().toString(); char[] dechar=st.toCharArray(); int len=st.length();
06-18 08:56:19.466: W/KeyCharacterMap(1097): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
06-18 08:56:21.964: D/szipinf(1097): Initializing inflate state
06-18 08:56:22.054: D/szipinf(1097): Initializing zlib to inflate
06-18 08:56:34.638: I/TAG(1097): [TextWatcher][onTextChanged]c
06-18 08:56:34.638: I/TAG1(1097): 0
06-18 08:56:34.643: I/TAG2(1097): 0
06-18 08:56:34.643: I/TAG3(1097): 1
06-18 08:56:37.112: I/TAG(1097): [TextWatcher][onTextChanged]ca
06-18 08:56:37.112: I/TAG1(1097): 0
06-18 08:56:37.112: I/TAG2(1097): 1
06-18 08:56:37.122: I/TAG3(1097): 2
06-18 08:56:38.772: I/TAG(1097): [TextWatcher][onTextChanged]cab
06-18 08:56:38.822: I/TAG1(1097): 0
06-18 08:56:38.822: I/TAG2(1097): 2
android.widget.TextView.checkForRelayout(TextView.java:5491)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2724)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567)
06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567)
06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567)
06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567)
06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567)
06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567)
06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567)
06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2592)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.EditText.setText(EditText.java:78)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2567)
06-18 08:56:44.172: E/AndroidRuntime(1097): at com.main.Display$6.onTextChanged(Display.java:207)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnTextChanged(TextView.java:6295)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.setText(TextView.java:2727)
com.main.Display$6.onTextChanged(Display.java:207)
06-18 08:56:44.172: E/AndroidRuntime(1097): at android.widget.TextView.sendOnT
edittext1=(EditText)findViewById(R.id.edittext1);
edittext1.addTextChangedListener(new TextWatcher(){ @Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
//arg0.clear();
} @Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
} @Override
public void onTextChanged(CharSequence s, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
String strs=textview2.getText().toString();
char[] character=strs.toCharArray();
String st=edittext1.getText().toString();
char[] dechar=st.toCharArray();
int len=st.length();
if(len<=character.length&&dechar[len-1]!=character[len-1]){
SpannableStringBuilder style=new SpannableStringBuilder(st);
Log.i("XML", strs);
style.setSpan(new ForegroundColorSpan(Color.RED),len-1,len,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
Log.i("XML", Integer.toString(len));
edittext1.setText(style);
}
Log.i("TAG","[TextWatcher][onTextChanged]"+s);
Log.i("TAG1", Integer.toString(arg1));
Log.i("TAG2", Integer.toString(arg2));
Log.i("TAG3", Integer.toString(arg3));
}
});
......public void onTextChanged() {
... ...
edittext1.setText(style); }上面这两个是不是导致死循环了?
依次类推,死循环了...你要看看你的edittext1.setText(style);
中的style,是不是也有此问题。从现象上看,应该是了。
1. 在beforeTextChanged中取出字符串和 onTexteChanged中的对比,如果一样那么说明是改变颜色的,那么就不设置颜色;
2. 在改变颜色的edittext1.setText(style); 语句之前加一个标志flag = true;说明这次是改变颜色的,下次再进来的时候不设置颜色;
应该是对style的xml(里面应该是个reference,不是存储的实际值,至于何为xml的reference,可以去android的SDK文档看看)进行resolve,结果又resolve到自生来了,自身又是一个reference,reference又需要resolve,系统去做resolve,结果又resolve到自身来了,如此循环....