disposición de la tabla de contenido fila de la tabla dinámica no está funcionando

jyo abc:

Hola en el código de abajo Me estoy poniendo en práctica disposición de la tabla dinámica. dinámicamente nombres de las filas de la tabla añadido también añaden dinámicamente.

tratando de añadir el contenido a la rows.but es tirar un índice de matriz excepción de excepción ligada.

puede alguien me ayuda donde hice el error

    java.lang.ArrayIndexOutOfBoundsException: length=3; index=3

Código

 String productValues = listSalesStageOpportunity.get(position).getProductValue();
TableLayout stk = (TableLayout) customView.findViewById(R.id.tables);
        TableRow tbrow0 = new TableRow(getContext());
        TextView tv0 = new TextView(getContext());
        tv0.setText(" Sl.No ");
        tv0.setTextColor(Color.WHITE);
        tbrow0.addView(tv0);
        TextView tv1 = new TextView(getContext());
        tv1.setText(" Item Name ");
        tv1.setTextColor(Color.WHITE);
        tbrow0.addView(tv1);
        TextView tv2 = new TextView(getContext());
        tv2.setText(" Unit Price ");
        tv2.setTextColor(Color.WHITE);
        tbrow0.addView(tv2);
        TextView tv3 = new TextView(getContext());
        tv3.setText(" Total ");
        tv3.setTextColor(Color.WHITE);
        tbrow0.addView(tv3);
        stk.addView(tbrow0);
        for (int i = 0; i < productValues.length(); i++) {
            TableRow tbrow = new TableRow(getContext());
            TextView t1v = new TextView(getContext());
            String[] namesList = productValues.split(",");
            t1v.setText(namesList[i]);//error
            t1v.setTextColor(Color.WHITE);
            t1v.setGravity(Gravity.CENTER);
            tbrow.addView(t1v);
stk.addView(tbrow);
        }
Tinta Archer:

ProductValues.length () devuelve un valor inalcanzable de 4 (de 13).

Si sólo hay 3 elementos (Falco, CS30, bs) el valor máximo para i es 2, pero i es igual a 3 según la excepción.

Si productValues ​​= "Falco, CS30, sa". La llamada productValues.length () devuelve 13. matriz no tiene 13 artículos.

debe mover el método de división hacia arriba, antes de que el bucle for, y utilizar su resultado como el repetidor de bucle.

String[] namesList = productValues.split(",");
for (int i = 0; i < namesList.length(); i++) 
{
        TableRow tbrow = new TableRow(getContext());
        TextView t1v = new TextView(getContext());
        t1v.setText(namesList[i]);
        t1v.setTextColor(Color.WHITE);
        t1v.setGravity(Gravity.CENTER);
        tbrow.addView(t1v);
        stk.addView(tbrow);
}

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=389832&siteId=1
Recomendado
Clasificación