リスト項目があります。各アイテムは 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)
空です!