解决方案 »
- android快2年了,这个问题大家给个答案吧。。。
- HTML5 jQuery 在webview加载的问题
- android sdk 里的sip demo 问题
- android 是否可以设置raw里的声音为来电铃声?
- android在edittext里怎么截取KEY事件(event)?
- android调用webservice发送header身份验证不成功
- 【求教】binder申请映射的内存为什么是1M-8K
- 用html5如何实现橡皮筋效果
- Android开发 BufferedWriter写入报错怎么办 啊
- Android数据库sqlite问题
- android listview 顶端判断问题
- ADT 18.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();
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到自身来了,如此循环....