1
votes

I have a tab host, whoa content is again tab host. The main tab host is first, and all content shows in first. In second tab host I have an tabactivity which content is listview. When i scroll to down the second listview crashes with message:

12-19 18:00:59.262: E/AndroidRuntime(1296): FATAL EXCEPTION: main
12-19 18:00:59.262: E/AndroidRuntime(1296): java.lang.StackOverflowError
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.text.Styled.measureText(Styled.java:430)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.text.Layout.measureText(Layout.java:1655)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.text.Layout.getLineMax(Layout.java:689)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.text.Layout.draw(Layout.java:340)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.text.BoringLayout.draw(BoringLayout.java:365)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.widget.TextView.onDraw(TextView.java:4050)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.View.draw(View.java:6740)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.View.draw(View.java:6743)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.View.buildDrawingCache(View.java:6502)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.View.getDrawingCache(View.java:6288)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1565)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.widget.AbsListView.dispatchDraw(AbsListView.java:1365)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.widget.ListView.dispatchDraw(ListView.java:3046)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.View.draw(View.java:6846)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.widget.AbsListView.draw(AbsListView.java:2257)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.View.draw(View.java:6743)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.View.draw(View.java:6743)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.View.draw(View.java:6743)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.widget.FrameLayout.draw(FrameLayout.java:352)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.View.draw(View.java:6743)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.widget.FrameLayout.draw(FrameLayout.java:352)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.View.draw(View.java:6743)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.View.draw(View.java:6743)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.View.draw(View.java:6743)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.widget.FrameLayout.draw(FrameLayout.java:352)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.View.draw(View.java:6743)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.widget.FrameLayout.draw(FrameLayout.java:352)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.View.draw(View.java:6743)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.widget.FrameLayout.draw(FrameLayout.java:352)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1842)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewRoot.draw(ViewRoot.java:1407)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewRoot.performTraversals(ViewRoot.java:1163)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
12-19 18:00:59.262: E/AndroidRuntime(1296):     at android.os.Handler.dispatchMessage(Handler.java:99)

here i use a listview

public class Standings extends Activity implements OnItemClickListener {


    @Override
     public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.standings_layout);

            CompetitionCommand compCmd = new CompetitionCommand();
            ArrayList teams = compCmd.getTeams();


            ListView newsListView = (ListView) findViewById(R.id.lv_standings);

            StandingsListAdapter adapter = new StandingsListAdapter(this,teams);
            newsListView.setAdapter(adapter);   
            adapter.notifyDataSetChanged();
            newsListView.invalidate();
            newsListView.setOnItemClickListener(this);


    }
public class StandingsListAdapter extends BaseAdapter {



     private LayoutInflater mInflater;
     private ArrayList teams;

     public StandingsListAdapter(Context context,ArrayList aTeams) 
     {
            this.mInflater = LayoutInflater.from(context);
            this.teams=aTeams;
     }

     public int getCount() 
     {
         return teams.size();
     }

     public Object getItem(int position) 
     {
         return position;
     }

     public long getItemId(int position) 
     {
         return position;
     }


     public View getView(int position, View convertView, ViewGroup parent) 
     {


         ViewHolder holder;

         Team team = teams.get(position);

         if (convertView == null) 
         {
             convertView = mInflater.inflate(R.layout.list_stand_row, null);
             holder = new ViewHolder();
             holder.st_place = (TextView) convertView.findViewById(R.id.tv_team_place);
             holder.st_team_name = (TextView) convertView.findViewById(R.id.tv_team_name);
             holder.st_played= (TextView) convertView.findViewById(R.id.tv_team_played);
             holder.st_won= (TextView) convertView.findViewById(R.id.tv_team_won);
             holder.st_drawn = (TextView) convertView.findViewById(R.id.tv_team_drawn);
             holder.st_lost= (TextView) convertView.findViewById(R.id.tv_team_lost);
             holder.st_goals_for= (TextView) convertView.findViewById(R.id.tv_team_goals_for);
             holder.st_goals_against= (TextView) convertView.findViewById(R.id.tv_team_goals_against);
             holder.st_points =(TextView) convertView.findViewById(R.id.tv_team_points);
             convertView.setTag(holder);
         }
         else 
         {
             holder = (ViewHolder)convertView.getTag();
         }


         holder.st_place.setText(team.getPlace());
         holder.st_team_name.setText(team.getTeam_name());
         holder.st_played.setText(team.getPlayed());
         holder.st_won.setText(team.getWon());
         holder.st_drawn.setText(team.getDrawn());
         holder.st_lost.setText(team.getLost());
         holder.st_goals_for.setText(team.getGoals_for());
         holder.st_goals_against.setText(team.getGoals_against());
         holder.st_points.setText(team.getPoints());


         return convertView;
     }



        static class ViewHolder 
        {
                 TextView st_team_name;
                 TextView st_place;
                 TextView st_played;
                 TextView st_won;
                 TextView st_drawn;
                 TextView st_lost;
                 TextView st_points;
                 TextView st_goals_for;
                 TextView st_goals_against;
                 TextView st_points_deduction;
         }

}
2
Any update? Is it solved? I have the same issue here. My layout is simple enough. Nested linearlayouts are replaced with simpler relativelayouts and so on. I don't know what am i doing wrong with codes. Can anyone help?Reaz Murshed

2 Answers

0
votes

Just check your layout you pop out for the listview. If you are using nested Linearlayouts then this kind of problems could come. Prefer RelativeLayouts. Which are much faster in inflation.

Read this as well.

0
votes

your R.layout.standings_layout must be a lot of LinearLayouts within the other