2013-05-06 63 views
0

在我的应用程序中,我有一个ListView和我自己的ListItemStyle(自己的XML)。我的代码的项目添加到ListView看起来像这样:ListViewItem添加了更多次

Schueler s[] = new Schueler[] 
{ 
    new Schueler("vName", "nName", new Date()).setNoten(new Klausur(50, 4, 3)), 
    new Schueler("vName", "nName", new Date()).setNoten(new Klausur(100, 1, 3)) 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) 
{ 
    View row = convertView; 

    if(row == null) 
    { 
     LayoutInflater inflater = ((Activity)context).getLayoutInflater(); 
     row = inflater.inflate(layoutResourceId, null); 
    } 

    Schueler s = data[position]; 

    if(s != null) 
    { 
     TextView vName = (TextView) row.findViewById(R.id.vName); 
     TextView nName = (TextView) row.findViewById(R.id.nName); 
     LinearLayout scroll = (LinearLayout) row.findViewById(R.id.notenScroll); 

     HorizontalScrollView hsv = (HorizontalScrollView)    row.findViewById(R.id.horizontalScrollView1); 

     vName.setText(s.getvName()); 
     nName.setText(s.getnName()); 

     for(int i = 0; i < s.getNoten().size(); i++) 
     { 
      LayoutInflater factory = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      View klausur = factory.inflate(R.layout.klausur_item, null); 

      TextView pkt = (TextView) klausur.findViewById(R.id.pkt); 
      TextView note = (TextView) klausur.findViewById(R.id.note); 
      TextView gew = (TextView) klausur.findViewById(R.id.gew); 

      pkt.setText(String.valueOf(s.getNoten().get(i).getPunkte())); 
      note.setText(String.valueOf(s.getNoten().get(i).getNote())); 
      gew.setText(String.valueOf(s.getNoten().get(i).getGewichtung())); 

      scroll.addView(klausur); 
     } 
    } 

    return row; 
} 

的布局所有的伟大工程,但我有一些项目增加了更多的时间到我的ListView的问题。现在看起来是这样的:

enter image description here

什么是错的代码?

+0

我觉得你已经设置了水平列表视图,所以它在右侧添加你的价值。是吗 ? – 2013-05-06 06:18:06

回答