BaseAdapterからデータセットを取得するListViewがあります。 ListViewは、menuItemがクリックされたときにデータを受け取ります。 私のlistViewまたは私のListAdapter(inboxAdapter.notifyDataSetChanged())に通知することができません。それは動作しません。 他の方法。データセット受信時にListViewに通知する
case R.id.Get:
retrieveList();
inboxEmails = EmailElement.parseContent();
inboxAdapter = new nboxAdapter(getApplicationContext(),inboxEmails);
if(inboxAdapter !=null){
listView.setAdapter(inboxAdapter);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
inboxAdapter.notifyDataSetChanged();
}
break;
//私は、まずメニューをクリックしたときに、私は今のところ、私のリストビューを更新するか、または通知する必要が放送からのメッセージに基づいて、SMS
private void retrieveList(){
registerReceiver(new SMSSentReciever(), new IntentFilter(SMSInfo.SENT));
registerReceiver(new SMSDeliveredReciever(), new IntentFilter(SMSInfo.DELIVERED));
PendingIntent sentIntent = PendingIntent.getBroadcast(this, 0, new Intent(SMSInfo.SENT), 0);
PendingIntent deliveryIntent = PendingIntent.getBroadcast(this, 0, new Intent(SMSInfo.DELIVERED),0);
SmsManager.getDefault().sendTextMessage("5556",null, "fruits", sentIntent, deliveryIntent);
}
を送信することにより、このメソッドはretrieveList私はエミュレータで私のメッセージを取得し、私は上記のメッセージを送信トーストが表示されますが、リストビューではなく、もう一度メニューをクリックすると、私はついにリストビューを取得します。私は間違って何をしたのですか?
最初にデータが更新されているかどうかを確認してから、notifyDataSetChangedを呼び出してください。 –
ケースR.id.Go:私のすべてのlistViewデータを取得するメソッドがあります。次に、アダプタがnullかどうかを確認します。本当の場合は、アダプタを設定してから、noftifyDataSetChanged()を呼び出します。 – Rovin