2

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 回表示されます。

http://pastebin.com/dJy2ie9g

ゴール:

私の目標は、電話番号とそのメッセージの両方を、リスト項目ごとに 2 つの別々のテキストビュー内で正しく読み取ることです。両方を 1 つのテキストビューに読み取るのと同じです。分離の理由はスタイリングのためです。1 番目と 2 番目の問題でバグが発生している理由について、何か考えがある人はいますか?

4

1 に答える 1

0

2 番目の問題について: への呼び出しは ' ' ステートメント
holder.latestSMS.setText(messages.get(position); // Display text message segment の外側にある必要があります(つまり、 when の場合にも呼び出される必要があります) 。ifconvertView!=null

convertView渡された がパラメータとgetView一致すると仮定することはできませんposition

于 2012-11-12T14:23:20.263 に答える