2013年9月11日星期三

Android Network Image

04-26 11:46:00.818: E/AndroidRuntime(3466): FATAL EXCEPTION: main
04-26 11:46:00.818: E/AndroidRuntime(3466): java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1
04-26 11:46:00.818: E/AndroidRuntime(3466): at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
04-26 11:46:00.818: E/AndroidRuntime(3466): at java.util.ArrayList.get(ArrayList.java:304)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.widget.HeaderViewListAdapter.isEnabled(HeaderViewListAdapter.java:164)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.widget.ListView.dispatchDraw(ListView.java:3138)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.View.draw(View.java:11158)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.widget.AbsListView.draw(AbsListView.java:3419)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2991)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.View.draw(View.java:11056)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2991)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2989)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2989)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2989)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2989)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2989)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2989)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2989)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2989)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2989)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2989)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2989)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2989)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2989)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.View.draw(View.java:11056)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.widget.FrameLayout.draw(FrameLayout.java:462)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2991)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2989)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.drawChild(ViewGroup.java:2989)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2593)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.View.draw(View.java:11056)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.widget.FrameLayout.draw(FrameLayout.java:462)
04-26 11:46:00.818: E/AndroidRuntime(3466): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2145)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewRootImpl.draw(ViewRootImpl.java:2026)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1634)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.os.Handler.dispatchMessage(Handler.java:99)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.os.Looper.loop(Looper.java:137)
04-26 11:46:00.818: E/AndroidRuntime(3466): at android.app.ActivityThread.main(ActivityThread.java:4441)
04-26 11:46:00.818: E/AndroidRuntime(3466): at java.lang.reflect.Method.invokeNative(Native Method)
04-26 11:46:00.818: E/AndroidRuntime(3466): at java.lang.reflect.Method.invoke(Method.java:511)
04-26 11:46:00.818: E/AndroidRuntime(3466): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
04-26 11:46:00.818: E/AndroidRuntime(3466): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
04-26 11:46:00.818: E/AndroidRuntime(3466): at dalvik.system.NativeStart.main(Native Method)

The above is the error message, the following is a method to obtain network picture

/***
* @方法说明 根据图片路径,得到图片!
* @param url
* @return Bitmap
*/
public Bitmap getBitmapImage(String url)
{
Bitmap bitmap = null;
InputStream in = null;
BufferedInputStream bis = null;
;
try
{
in = GetInputStream.getInputStream(url);
bis = new BufferedInputStream(in);
bitmap = BitmapFactory.decodeStream(bis);
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
if (in != null)
{
try
{
in.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
if (bis != null)
{
try
{
bis.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
return bitmap;
}

The following is the code used in the assembly of the ListView data source

//如果网络图片路径不为空,则进行网络加载,否则使用本地图片
if (null != imgSynopsisImagePath)
{
Bitmap bitmap = getBitmapImage(imgSynopsisImagePath);
Drawable drawable = new BitmapDrawable(bitmap);
map.put("ItemImage",drawable);
}


The question is:
me pull to refresh it at the above exceptions, if I remove the network load images directly using the local image does not. Not being given in 2.3, 4.0 or more on the error, how is it?
------ Solution ---------------------------------------- ----
1. break point debugging to see where the problem is.
2. write your own class to inherit or own cycle BaseAdapter build Adapter, if it is possible to build your own cycling again after you clear the added amount of data led to the array bounds.
------ reference --------------------------------------- < br> Come come that ...
------ reference - --------------------------------------
program first loads and when the picture does not complain, as long as it is finished pull to refresh. Load more functions are also no problem, almost cried. . .
------ reference --------------------------------------- < br> Online ah ..
------ reference --------------------------------- ------
see tips to know where the array out of bounds
------ reference ---------------------- -----------------
which side ah? I did not see it!
------ reference --------------------------------------- < br>
which side ah? I did not see it!
------ reference -------------------------------------- -
java.lang. IndexOutOfBoundsException :

  
which side ah? I did not see it!  

------ reference ------------------------------------ ---
write their own ListAdapter do?
------ reference --------------------------------------- < br> should be the one custom ListView problem
------ reference ----------------------------- ----------
buddy you this is obviously a good look with an array of array bounds you place
------ reference -------- -------------------------------
Yes!
------ reference --------------------------------------- < br> Yesterday I checked, when I update the list of data sources to achieve the previously given clear, the code is as follows:
		//将新获得的数据和原有的数据进行组合,剔除重复的数据,生成新的数据
newsList = addDate(newsList, nbs);
//将之前列表的数据清空
mapList.clear();
//重新给数据源赋值
mapList.addAll(transNews(newsList));

The error will not be removed mapList
------ reference ---------------------------- -----------
Why clear what will be wrong?
------ reference --------------------------------------- < br> Yesterday I checked, when I update the list of data sources to achieve the previously given clear, the code is as follows:   
  
		//将新获得的数据和原有的数据进行组合,剔除重复的数据,生成新的数据
newsList = addDate(newsList, nbs);
//将之前列表的数据清空
mapList.clear();
//重新给数据源赋值
mapList.addAll(transNews(newsList));
  
will mapList the error will not be removed  
ah pretty good
------ reference ------------------------------- --------
Yesterday I checked, when I update the list of data sources to achieve the previously given clear, the code is as follows:     
    
		//将新获得的数据和原有的数据进行组合,剔除重复的数据,生成新的数据
newsList = addDate(newsList, nbs);
//将之前列表的数据清空
mapList.clear();
//重新给数据源赋值
mapList.addAll(transNews(newsList));
    
will mapList the error will not be removed    
  
ah pretty good  
Why can clear wrong? Depressed
------ reference ---------------------------------------
I put the clear () method for that to re-new time, seemingly not being given, pro, try

没有评论:

发表评论