Handcent、Chomp、textPlus、Pansi SMS などのカスタム SMS アプリを作成しています。私が現在エミュレートしようとしているのは、このような受信トレイですが、テキストビューで受信した連絡先名と最新のメッセージだけです。
SMSList クラス (Activity を拡張) では、このメソッドが CustomAdapter コンストラクターに渡されます: http://pastebin.com/TgsshJbc
私の CustomAdapter クラスでは、elements と呼ばれる arraylist が上記のメソッドからのデータを保持します。だからいつこれをする:
textview1.setText(elements.get(position);
これにより、対応するすべての正しい電話番号を含むすべてのテキスト メッセージが返されます。
問題は次のとおりです。
電話番号を分離してtextview1に渡し、メッセージをtextview2 に渡す必要があります。私は作成しようとしました:
List<String> contactNo = new ArrayList<String>();
List<String> message = new ArrayList<String>();
ListIterator<String> it;
contactNo = elements;
message = elements;
it = contactNo.listIterator();
while (it.hasNext()) {
it.set(it.next().split(" ")[0]); // Keep the number, discard the message
}
it = messages.listIterator();
while (it.hasNext()) {
it.set(it.next().split(" ")[1]); // Keep the message, discard the number
}
textview1 で contactNo を試すと、正常に動作します。しかし、textview2 のメッセージはリスト エラーを引き起こし、何も表示しません。
問題 2: この方法で (サイズを取得する以外の要素を使用せずに) コードを適用すると、電話番号は正しく表示されますが、メッセージは 7 番目のメッセージの後に繰り返されます。合計で 129 のテキスト メッセージがあることに注意してください。したがって、129 項目のリスト全体で、最初の 7 つのメッセージが 18 回表示されます。
ゴール:
私の目標は、電話番号とそのメッセージの両方を、リスト項目ごとに 2 つの別々のテキストビュー内で正しく読み取ることです。両方を 1 つのテキストビューに読み取るのと同じです。分離の理由はスタイリングのためです。1 番目と 2 番目の問題でバグが発生している理由について、何か考えがある人はいますか?