首页 > 解决方案 > 动态表渲染表行内容在android中存在问题

问题描述

嗨,在下面的代码中显示动态表格行,在我的代码中命名如下。Rows 还动态添加从 api 显示的表格内容并添加到 textviews。

在下面的代码中,我面临一个问题 t1v.setText(namesList[i]); 因为文本有一些名称并添加到数组列表中。

以同样的方式,我正在使用另一个 for 循环,第二个 for 循环想要在第一个 for 循环之外执行。单价有问题。

以下代码的输出:

Sl.No      Product Name       Quantity   Unit Price           
 0         Fac                  1       87000 67000 78900     
 1         CS                   1       87000 67000 78900     
 2         BS                   1       87000 67000 78900

预期输出:Sl.No 产品名称 数量 单价
0 Fac 1 87000
1 CS 1 67000
2 BS 1 78900

TableLayout stk = (TableLayout) customView.findViewById(R.id.tables);
        TableRow tbrow0 = new TableRow(getContext());
        Resources resource = getContext().getResources();
        tbrow0.setBackgroundColor(resource.getColor(R.color.tabs1));
        TextView tv0 = new TextView(getContext());
        tv0.setText(" Sl.No ");
        tv0.setTextColor(Color.BLACK);
        tv0.setGravity(Gravity.CENTER);
        tbrow0.addView(tv0);
        TextView tv1 = new TextView(getContext());
        tv1.setText(" Product Name ");
        tv1.setGravity(Gravity.CENTER);
        tv1.setTextColor(Color.BLACK);
        tbrow0.addView(tv1);
        TextView tv2 = new TextView(getContext());
        tv2.setText(" Quantity");
        tv2.setGravity(Gravity.CENTER);
        tv2.setTextColor(Color.BLACK);
        tbrow0.addView(tv2);
        TextView tv3 = new TextView(getContext());
        tv3.setText(" Unit Price ");
        tv3.setGravity(Gravity.CENTER);
        tv3.setTextColor(Color.BLACK);
        tbrow0.addView(tv3);
        TextView tv4 = new TextView(getContext());
        tv4.setText(" Total ");
        tv4.setGravity(Gravity.CENTER);
        tv4.setTextColor(Color.BLACK);
        tbrow0.addView(tv4);
        stk.addView(tbrow0);
        String[] namesList = productValues.split(",");
        String[] priceList=listprices.split(",");

        for (int i = 0; i < namesList.length; i++) {
            TableRow tbrow = new TableRow(getContext());
            TextView t0v = new TextView(getContext());
            t0v.setText("" + i);
            t0v.setTextColor(Color.BLACK);
            t0v.setGravity(Gravity.CENTER);
            tbrow.addView(t0v);

            TextView t1v = new TextView(getContext());
            t1v.setText(namesList[i]);
            t1v.setTextColor(Color.BLACK);
            t1v.setGravity(Gravity.CENTER);
            tbrow.addView(t1v);
          //  stk.addView(tbrow);

            TextView t2v = new TextView(getContext());
            t2v.setText(quantitys);
            t2v.setTextColor(Color.BLACK);
            t2v.setGravity(Gravity.CENTER);
            tbrow.addView(t2v);
//            stk.addView(tbrow);
            for(int j=0;j<priceList.length;j++) {
                TextView t3v = new TextView(getContext());
                String rupee = getResources().getString(R.string.Rs);
                t3v.setText(rupee.concat(priceList[j]));
                t3v.setTextColor(Color.BLACK);
                t3v.setGravity(Gravity.CENTER);
                tbrow.addView(t3v);

//               stk.addView(tbrow);
            }


            TextView t4v = new TextView(getContext());
            //  String t2 = String.valueOf(Integer.parseInt(qty) * Integer.parseInt(list_price));
            String rupee = getResources().getString(R.string.Rs);
            t4v.setText(totals);
            t4v.setTextColor(Color.BLACK);
            t4v.setGravity(Gravity.CENTER);
            tbrow.addView(t4v);
            stk.addView(tbrow);

        }

标签: androiddynamicandroid-tablelayout

解决方案


推荐阅读