SMS会話リストを表示するためにSherlockListFragment(ListFragmentと同じ)を使用しています
これがコードです
public static class TitlesFragment extends SherlockListFragment
{
static ConversationAdapter adapter;
static List<String> msgList;
static Activity activity;
static ListView listView;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
DataGetters dataGetters = new DataGetters();
activity = getActivity();
msgList = dataGetters.getCONVERSATIONS(activity.getApplicationContext());
adapter = new ConversationAdapter(activity, msgList);
setListAdapter(adapter);
}
上記のコードは、現在のすべてのSMS会話を次のように出力します。
adapter.notifyDataSetChanged();を呼び出して、以下のコードからアダプターを更新しています。新しいSMSを受信すると魔女が呼び出されます
public class ReceiverClass extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
Thread.sleep(2000);
return null;
}
@Override
protected void onPostExecute(String result) {
TitlesFragment.adapter.notifyDataSetChanged();
}
ただし、休眠コードは、次のように新しいリストアイテムの位置を追加するのではなく、既存のリストビューアイテムを上書きします。
アクティビティが再作成されると、必要なものが得られますが、その場合に限ります。例: