2011-12-19 4 views
1

나는 탭 호스트, whoa 콘텐츠가 다시 탭 호스트입니다. 주 탭 호스트가 먼저 있고 모든 콘텐츠가 먼저 표시됩니다. 두 번째 탭 호스트에서 나는 내용이 listview 인 tabactivity를가집니다. 내가 메시지와 함께 두 번째 목록보기 충돌 아래로 스크롤하면 는 :StackoverflowException 안드로이드 목록보기에서 아래로 스크롤

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)

여기 난 그냥 당신이 목록보기 위해 밖으로 튀어 레이아웃을 확인리스트 뷰를

 
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; 
     } 

} 
+0

업데이트가 있습니까? 해결 되었습니까? 나는 여기에도 같은 문제가있다. 내 레이아웃은 충분히 간단합니다. 중첩 된 선형 레이아웃은보다 단순한 상대적 레이아웃으로 대체됩니다. 나는 코드에 대해 내가 뭘 잘못하고 있는지 모른다. 누구든지 도와 줄 수 있습니까? –

답변

0

를 사용합니다. 중첩 된 선형 정렬을 사용하는 경우 이러한 종류의 문제가 발생할 수 있습니다. 상대적 레이아웃을 선호하십시오. 인플레이션이 훨씬 빠릅니다.

this도 읽으십시오.

+0

가장 흥미로운 점은 tabhost가 문제없이이 두 번째 활동을 설정하면, 스크롤링 등등입니다. 도움을 청하십시오! – user1106234

+0

이 문제가 될 수 있습니다. 메인 탭 호스트에서 많은 뷰를 채우고 있습니까? – user1106234

+0

일 수 있습니다. 우리가 당신을 도울 수있는 더 많은 정보를 줄 수 있습니까? 당신이 제공 한 정보는 매우 기본적인 문제입니다. 목록보기의 전체 XML 코드 및 기본 XML과 같은 자세한 내용을 언급하십시오. 그리고 유 등을 통해 UR 의견을 부풀려 어떻게 ... – san

0

R.layout.standings_layout은 다른 LinearLayouts이어야합니다.

관련 문제