使用webview加载快速数据?

时间:2012-05-29 05:02:00

标签: android android-webview

开发测验应用程序,用选项显示问题。

问题在 HTML格式的数据库中。使用WebView我正在显示Q& A。

当我使用TextView时,Q& A显示得很整齐。但是,当我使用WebView显示Q& A时,显示问题需要很长时间,同时重复显示选项

我的代码:

static ArrayList<ArrayList<String>> stringList;
static ArrayList<String> optionlist;

webView = (WebView) findViewById(R.id.question);
webView.getSettings().setJavaScriptEnabled(true);

webView.loadData(listItem.getquestion(), "text/html", "UTF-8");
webView.getSettings().setDefaultFontSize(14);
webView.getSettings().setRenderPriority(RenderPriority.HIGH);
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

RadioGroup radiogroup = (RadioGroup) findViewById(R.id.radiogroup);

LinearLayout.LayoutParams layoutParams = new RadioGroup.LayoutParams(
        RadioGroup.LayoutParams.WRAP_CONTENT,
        RadioGroup.LayoutParams.WRAP_CONTENT);

for (int i = 0; i < stringList.size(); i++) {
    optionlist = new ArrayList<String>();
    optionlist = stringList.get(i);

    RadioButton newRadioButton = new RadioButton(this.getContext());

    newRadioButton.setText(optionlist.get(2));
    newRadioButton.setTextColor(Color.parseColor("#000000"));

    radiogroup.addView(newRadioButton, layoutParams);
}

1 个答案:

答案 0 :(得分:0)

我不知道你在WebView上添加任何东西的位置(一次或多次),但这里有一些指示可以使你所包含的代码运行得更快:

  • 使用for-each循环,它们更快更容易。
  • 删除新的ArrayList声明,因为在下一行中只使用现有的ArrayList
  • 覆盖它

像这样:

for (ArrayList<String> currentList : stringList) {
    RadioButton newRadioButton = new RadioButton(this.getContext());
    newRadioButton.setText(currentList.get(2));
    newRadioButton.setTextColor(Color.parseColor("#000000"));

    radiogroup.addView(newRadioButton, layoutParams);
}