Android ListView没有使用数据库事务进行更新

时间:2011-06-23 11:17:59

标签: android listview

我目前正在构建一个使用图表API从Facebook下载数据的应用程序。

我面临一个非常奇怪的问题..我从facebook获得的数据非常庞大,所以我使用SqliteDatabase事务一次性插入所有内容。

现在我有两个表插入数据,一个叫做event,另一个叫做event_friend

我创建了一个列表视图,其适配器包含一个查询,该查询是上述两个表的连接。现在,每次事务完成时,两个表中都会添加一些行,因此listView也应该更新。我发现要做到这一点,我们需要调用适配器的notifyDataSetChanged。我甚至尝试通过在事务结束时发送广播意图然后调用notifyDataSetChanged来执行此操作,但listview中没有行。

然而,当活动恢复时,listView将填充行。

以下是OnCreate的相关摘录

  
    

光标c =     managedQuery(CrowdSpottrProvider.CONTENT_URI_FRIENDS_POPULAR_VIRTUAL_TABLE,     null,null,null,null);

         

mListAdapterFriends = new EventsFriendsAdapter(this,     R.layout.event_item,c,                                                         new String [] {“name”,“friends”,“start_time”,“end_time”},                                                         new int [] {R.events_list.event_name,     R.events_list.number_of_friends_attending},     2);             mListView.setAdapter(mListAdapterFriends);

         

mReciever = new BroadcastReceiver(){

           @Override          
                  public void onReceive(Context context, Intent
         

意图){

            mListAdapterFriends.notifyDataSetChanged();
        }           };
            registerReceiver(mReciever, new IntentFilter("events_added"));
  

线程还添加了如下条目:

0 个答案:

没有答案