動的テーブルレイアウトテーブル行のコンテンツが動作していません

JYO ABC:

こんにちは、以下のコードでは、私は、動的テーブルレイアウトを実装しています。動的に追加されたテーブルの列名も動的に追加されました。

それがバインドされた例外のうち、例外配列インデックスを投げているrows.butにコンテンツを追加しようとしています。

私は間違いをしたいずれかのヘルプ、私はすることができます

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

コード

 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);
        }
インクアーチャー:

ProductValues.length()が到達不能値戻っている(13のうち)4を。

唯一の3項目(ファルコ、CS30、BS)が存在する場合の最大値iが 2であるが、私はあるが、例外を記載3に等しいです。

もしproductValues = "ファルコ、CS30、BS"。コールproductValues.lengthは()13個のアイテムを持っていない13.あなたの配列を返します。

あなたは、forループの前に、splitメソッドを上に移動し、ループイテレータとしてその結果を使用する必要があります。

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);
}

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=389823&siteId=1