带有数组的ListView

时间:2012-03-20 16:01:59

标签: android listview

我想在没有所有相同内容的数组的情况下填充ListView。

我有一个带有这些字符串的“TijdsregistratieKaart”类,boolean&双

public class TijdsregistratieKaart {
  public String date,customerName,description,startTime,stopTime,taskDocumentNo_,activity,project,internalInformation,externalInformation;
  public Boolean coaching;
  public double percentageComplete;
  ...
}

现在我的问题是如何将所有这些东西放在列表视图中。 因此Date与customerName& description,...我没有使用所有相同字符串或双精度数组或...的数组找不到listview的示例。

目前我得到了一个TijdsregistratieKaartAdapter类,请填写我的listView,如下所示:

private class tijdsregistratieKaartAdapter extends ArrayAdapter<TijdsregistratieKaart> {

    private ArrayList<TijdsregistratieKaart> items;

    public tijdsregistratieKaartAdapter(Context context, int textViewResourceId,
            ArrayList<TijdsregistratieKaart> items) {
        super(context, textViewResourceId, items);
        this.items = items;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
        if (v == null) {
            LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.tijdsregistratiekaartrij, null);
        }
        TijdsregistratieKaart tijdsregistratiekaart = items.get(position);
        if (tijdsregistratiekaart != null) {
            TextView at = (TextView) v.findViewById(R.id.TRKtxtDatum);
            TextView bt = (TextView) v.findViewById(R.id.TRKtxtKlantNaam);
            TextView ct = (TextView) v.findViewById(R.id.TRKtxtDescription);
            TextView dt = (TextView) v.findViewById(R.id.TRKtxtTaskDocNo);
            TextView et = (TextView) v.findViewById(R.id.TRKtxtActivity);
            TextView ft = (TextView) v.findViewById(R.id.TRKtxtCoaching);
            TextView gt = (TextView) v.findViewById(R.id.TRKtxtExternalInformation);
            TextView ht = (TextView) v.findViewById(R.id.TRKtxtInternalInformation);
            TextView it = (TextView) v.findViewById(R.id.TRKtxtPercentageComplete);
            TextView jt = (TextView) v.findViewById(R.id.TRKtxtProject);
            TextView kt = (TextView) v.findViewById(R.id.TRKtxtStartTime);
            TextView lt = (TextView) v.findViewById(R.id.TRKtxtStopTime);
            if (at != null) {
                at.setText("Datum:\n" + tijdsregistratiekaart.date);
            }
            if (bt != null) {
                bt.setText("Klant naam:\n " + tijdsregistratiekaart.customerName);
            }
            if (ct != null) {
                ct.setText("Omschrijving:\n " + tijdsregistratiekaart.description);
            }
            if (dt != null) {
                dt.setText("Document Nr:\n" + tijdsregistratiekaart.taskDocumentNo_);
            }
            if (et != null) {
                et.setText("Activiteit:\n " + tijdsregistratiekaart.activity);
            }
            if (ft != null) {
                ft.setText("Begeleiding:\n " + tijdsregistratiekaart.coaching);
            }
            if (gt != null) {
                gt.setText("Externe Informatie:\n" + tijdsregistratiekaart.externalInformation);
            }
            if (ht != null) {
                ht.setText("Interne Informatie:\n " + tijdsregistratiekaart.internalInformation);
            }
            if (it != null) {
                it.setText("% Afgewerkt:\n " + tijdsregistratiekaart.percentageComplete);
            }
            if (jt != null) {
                jt.setText("Project:\n" + tijdsregistratiekaart.project);
            }
            if (kt != null) {
                kt.setText("Start uur:\n " + tijdsregistratiekaart.startTime);
            }
            if (lt != null) {
                lt.setText("Stop uur:\n " + tijdsregistratiekaart.stopTime);
            }
        }
        return v;
    }
}

但如果我这样做的话。这是一个不同项目的大单元格。我想为每个项目添加一个不同的单元格,这样我就可以在需要的单元格上添加onclickItemListeners。

2 个答案:

答案 0 :(得分:0)

您可能需要考虑重新设计流程。我知道这不是你想听到的。但是,为了查看我的所有信息,必须向上和向下滚动才能看到我的所有信息。

相反,您可以向用户显示ListView中的重要数据。然后有一个功能,他们可以点击一个项目,看到有关该项目的更多细节。然后,您可以在更详细的视图中或以其他方式使用onClickListeners

答案 1 :(得分:0)

我知道了,不需要使用ListView,我将使用scrollView然后在其中添加textView。这将变得更加容易和同样的结果。 例如:http://android-pro.blogspot.com/2010/02/android-scrollview.html