簡體   English   中英

表布局中不需要的行

[英]Unwanted rows in a table layout

在我的適配器類中,我想制作一個只有4行的表布局,以在不同的4行中表示我的4個值。

一切都很好,除了行數增加了三倍(12行),但我將其設計為只有4行,如下面的代碼所示:

public View getView(final int position, View view, ViewGroup parent) {
    final arraybill.ViewHolder holder;

    if (view == null) {
        holder = new arraybill.ViewHolder();
        view = inflater.inflate(R.layout.layout_bill, null);
        // Locate the TextViews in listview_item.xml
        holder.ll = (TableLayout) view.findViewById(R.id.displayLinear);

        view.setTag(holder);
    } else {
        holder = (arraybill.ViewHolder) view.getTag();
    }
    // Set the results into TextViews



    label = new String[] {"A","B","C","D"};
    value = new String[]{modelList.get(0).getbill(),modelList.get(0).getaccepting(),
            modelList.get(0).getdeclining(),modelList.get(0).getwaiting()};



    for (int i = 0; i < label.length; i++) {

        TableRow row= new TableRow(mContext);
        row.setGravity(Gravity.CENTER);
        TableRow.LayoutParams lp = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT);
        row.setLayoutParams(lp);

        tv = new TextView(mContext);
        tv.setPadding(20,10,5,10);
        tv.setTextColor(Color.parseColor("#000000"));
        tv.setText(label[i]);

        tv2 =new TextView(mContext);
        tv2.setText("");
        tv2.setPadding(10,10,10,10);
        tv2.setTextColor(Color.parseColor("#000000"));

        tv3 =new TextView(mContext);
        tv3.setText(value[i]);
        tv3.setPadding(5,10,20,10);
        tv3.setTextColor(Color.parseColor("#000000"));

        row.addView(tv3,0);
        row.addView(tv2,1);
        row.addView(tv,2);

        row.setBackgroundResource(R.drawable.border);
        holder.ll.setColumnShrinkable(0,true);
        holder.ll.addView(row,i);
   }

    //...

    return view;
}

嘗試放入holder.ll.removeAllViews(); 在你for循環:

label = new String[] {"A","B","C","D"};
value = new String[]{modelList.get(0).getbill(),modelList.get(0).getaccepting(),
        modelList.get(0).getdeclining(),modelList.get(0).getwaiting()};

holder.ll.removeAllViews();

for (int i = 0; i < label.length; i++) {

    TableRow row= new TableRow(mContext);
    row.setGravity(Gravity.CENTER);
    TableRow.LayoutParams lp = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT);
    row.setLayoutParams(lp);

    //...

}

我不是專家或任何專家,所以我的“幫助”可能完全錯誤,但是我嘗試:label.length為4,因此您創建了4X3電視,電視2,電視3並添加了它們。 那就是為什么你有12行而不是4行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM