0

嗨我正在尝试开发一个可以列出所有已安装应用程序及其缓存的应用程序,我正在这样做,但问题是当我点击列表时我得到Force Close

这是我的代码

new AsyncTask<Void, Void, Void>() {
@Override
protected void onPreExecute() 
{
    pd = ProgressDialog.show(Messages.this, "Loading..","Please Wait", true, false);
}// End of onPreExecute method

@Override
protected Void doInBackground(Void... params) 
{
    MessageDetails Detail;
    Detail = new MessageDetails();
    Detail.setIcon(getPackageManager().getApplicationIcon( pStats.packageName ));
    Detail.setName(title);
    Detail.setSub("Cache Size -> "+(((pStats.cacheSize/1024) > 0)?(pStats.cacheSize/1024):"No Cache"));
    details.add(Detail);
    return null;
}// End of doInBackground method

@Override
protected void onPostExecute(Void result) {
    msgList.setAdapter(new CustomAdapter(details, Messages.this));
    pd.dismiss();
}// End of onPostExecute method
 }.execute((Void[]) null);

请帮我解决这个谜题,在此先感谢。

堆栈跟踪

E/AndroidRuntime(1143): java.lang.IllegalStateException: The content of the adapter has 
changed but ListView did not receive a notification. 
Make sure the content of your adapter is not modified from a background thread, 
but only from the UI thread. 
[in ListView(2131230725, class android.widget.ListView) 
with Adapter(class com.example.temptocache.CustomAdapter)]
4

0 回答 0