我有一个列表项。每个项目都扩展了 Textview 以创建我的自定义项目。在这个类中,我setText(CharSequence text, BufferType type)
在调用之前覆盖了对文本进行处理的方法super.setText(Charsequence text, BufferType type)
。
但是当我调用text.toString()
方法时,它返回一个空字符串。
你有同样的问题或有任何提示吗?当然,我使用 Unicode 文本 - 例如:\u0661\u6662\u663
. 列表视图显示 Unicode 日期没有问题。
这是我的覆盖和处理方法:
@Override
public void setText(CharSequence text, BufferType type) {
// TODO Auto-generated method stub
process(text.toString());
super.setText(text, type);
}
private void process(String guess) {
StringBuffer correct = new StringBuffer(GameForm.getCorrectNumber());
int s = guess.length();
if (s!=correct.length())
throw new InputMismatchException("Lenght of correct and guess number is different");
acceptCount = 0;
warningCount = 0;
for (int i = 0; i < s; i++) {
if (guess.charAt(i) == correct.charAt(i)) {
acceptCount++;
} else if (correct.indexOf(guess.charAt(i) + "") != -1) {
warningCount++;
}
}
}
s
里面是process(String text)
空的!