2

私はテーブルでアプリをやっています。各行には 3 つのテキストビューがあり、行は動的に生成されます。

すべて正常に動作しますが、行が 15 ~ 20 を超えると、logcat に次のメッセージが表示されます (約 3 回):

09-24 15:48:37.307: I/dalvikvm(32685): threadid=3: reacting to signal 3
09-24 15:48:37.337: I/dalvikvm(32685): Wrote stack traces to '/data/anr/traces.txt'

(テーブルが表示されるまでに数秒かかります。行が増えると表示される時間が長くなります)。

この問題を回避する解決策はありますか、それとも大きなテーブルでは正常ですか?

これはテーブルを生成するコードです:

for (Esame e : Db.risposteDate){

        TableRow tr = new TableRow(this);

        TextView lbl1 = new TextView(this);
        TextView lbl2 = new TextView(this);
        TextView lbl3 = new TextView(this);
        tr.setGravity(Gravity.CENTER);
        lbl1.setGravity(Gravity.CENTER_VERTICAL);
        lbl3.setGravity(Gravity.CENTER);

        lbl1.setTextColor(android.graphics.Color.RED);
        lbl2.setTextColor(android.graphics.Color.RED);
        lbl3.setTextColor(android.graphics.Color.RED);

        lbl1.setLayoutParams( new TableRow.LayoutParams( 0, android.view.ViewGroup.LayoutParams.WRAP_CONTENT, 1 ) );
        lbl2.setLayoutParams( new TableRow.LayoutParams( 0, android.view.ViewGroup.LayoutParams.WRAP_CONTENT, 7 ) );
        lbl3.setLayoutParams( new TableRow.LayoutParams( 0, android.view.ViewGroup.LayoutParams.WRAP_CONTENT, 1 ) );

        lbl1.setText(e.getDomandaNum()+"");
        lbl2.setText(Html.fromHtml(e.getTesto()+"<br />"));
        lbl3.setText(e.getRispostaData());

        tr.addView(lbl1);
        tr.addView(lbl2);
        tr.addView(lbl3);
        tl.addView(tr);

}
4

0 に答える 0