从String数组加载文本并将text设置为textview在大字符串数组中非常慢

时间:2016-05-23 15:30:50

标签: android

喜 为什么在大字符串数组中从String数组加载文本并将文本设置为textview非常慢?

请帮帮我。

 //get khotbe text from database and copy to khotbe activity
private void setkhotbetextarabicfarsi() {
    this.sqliteDB = SQLiteDatabase.openOrCreateDatabase(this.getDatabasePath("aliname").getPath(), (SQLiteDatabase.CursorFactory) null);

    Itemid = this.getIntent().getIntExtra("selectedFromListid", 1);
    Cursor cursorLines = this.sqliteDB.rawQuery("SELECT * FROM khotbe where IDFehrest=" + this.Itemid , (String[]) null);
    allrecs = cursorLines.getCount();
    matn = new String[allrecs];

    if (this.allrecs != 0) {
        cursorLines.moveToFirst();

        for (int i = 0; i < this.allrecs; ++i) {
            String TextArabicOfKhotbe = cursorLines.getString(cursorLines.getColumnIndex("TextArabicOfKhotbe"));
            int IDkhotbe = cursorLines.getInt(cursorLines.getColumnIndex("IDkhotbe"));


            this.matn[i] = TextArabicOfKhotbe;           

            cursorLines.moveToNext();
        }
    }

和主要代码:

 for(int var1 = 0; var1 < this.allrecs; ++var1) {

            tvArabic = new JustifiedTextView(this);

            tvArabic.setText(matn[var1]);

1 个答案:

答案 0 :(得分:2)

您正在循环中创建可能使其变慢的textviews ..尝试使用适配器填充数组值。

同时检查您从数据库访问的行数。如果它们数量巨大,则需要更多时间来获取。 在这种情况下使用限制。