Buggy code:
public class TabHistoryOrder extends BaseFragment { private CustomListView listView ; private SimpleAdapter adapter ; private List < Map < String , Object > > mData ; private Animation textRotateAnimation ; public TabHistoryOrder . IGotoDetails gotoDetails ; public TabHistoryOrder ( ) { } @ Override public void onCreate ( Bundle savedInstanceState ) { } @ Override public View onCreateView ( LayoutInflater inflater , ViewGroup container , Bundle savedInstanceState ) { } @ Override public void onResume ( ) { } private void initView ( View view ) { textRotateAnimation = AnimationUtils . loadAnimation ( getActivity ( ) , rotated_text_view ) ; textRotateAnimation . setFillAfter ( true ) ; listView = ( ( CustomListView ) ( view . findViewById ( lv_history ) ) ) ; mData = new ArrayList < Map < String , Object > > ( ) ; adapter = new SimpleAdapter ( getActivity ( ) , mData , layout . tab_history_order_list , new String [ ] { "from_avatar" , "from_name" , "time" , "distance" , "reward" , "to_name" , "to_avatar" } , new int [ ] { id . civ_history_list_from_avatar , id . tv_history_list_from_name , id . tv_history_list_time , id . tv_history_list_distance , id . tv_history_list_reward , id . tv_history_list_to_name , id . civ_history_list_to_avatar } ) { @ Override public View getView ( int position , View convertView , ViewGroup parent ) { <START_BUG> View view = super . getView ( position , convertView , parent ) ; <END_BUG> if ( mData . get ( position ) . get ( "status" ) . equals ( "1" ) ) { TextView tv_done = ( ( TextView ) ( view . findViewById ( tv_history_list_done ) ) ) ; tv_done . setVisibility ( VISIBLE ) ; tv_done . setAnimation ( textRotateAnimation ) ; } if ( ( position % 2 ) == 0 ) { view . setBackgroundDrawable ( getActivity ( ) . getResources ( ) . getDrawable ( bg_white ) ) ; } else { view . setBackgroundDrawable ( null ) ; } return view ; } } ; adapter . setViewBinder ( new com . sqbnet . expressassistant . utils . AsyncImageLoader . AsyncImageViewBinder ( getActivity ( ) ) ) ; listView . setAdapter ( adapter ) ; listView . setOnItemClickListener ( new AdapterView . OnItemClickListener ( ) { @ Override public void onItemClick ( AdapterView < ? > adapterView , View view , int i , long l ) { Log . d ( "history" , ( ( "item<seq2seq4repair_space>" + i ) + "clicked!" ) ) ; if ( ( gotoDetails ) != null ) { JSONObject jsonObject = ( ( JSONObject ) ( mData . get ( ( i - 1 ) ) . get ( "jsonObject" ) ) ) ; gotoDetails . gotoDetails ( jsonObject ) ; } } } ) ; listView . setonRefreshListener ( new CustomListView . OnRefreshListener ( ) { @ Override public void onRefresh ( ) { Log . i ( "virgil" , "TabHistoryOrder<seq2seq4repair_space>CustomListView<seq2seq4repair_space>onRefresh" ) ; refreshData ( true ) ; } } ) ; if ( ( mData . size ( ) ) == 0 ) { Log . i ( "virgil" , "TabHistoryOrder<seq2seq4repair_space>listview<seq2seq4repair_space>init<seq2seq4repair_space>data" ) ; listView . startRefresh ( ) ; refreshData ( false ) ; } } private void refreshData ( boolean isRefresh ) { } public interface IGotoDetails { void gotoDetails ( JSONObject data ) { } void back ( ) { } } public static class BaseFragment { } }

Fix:
View view = ( convertView == null ) ? super . getView ( position , convertView , parent ) : convertView ;