Webview和语言使用内置数据库

时间:2015-12-29 12:42:38

标签: java android sqlite webview

我想使用webview在我的应用上显示DisclaimerActivity;应用程序有一个内置的sqlite数据库(其中一个表包含我的免责声明信息,由4列和一行定义如下:discID INT,discEN memo,discHU memo discRO memo)。

在其相关布局xml上我定义了此备忘录字段的webview

<WebView
    android:id="@+id/detail_disclaimer"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/vgap"
    android:textColor="@color/FG_Dark"
    android:textSize="@dimen/normal_text"
    tools:ignore="WebViewLayout" />

在我的databaseHelper.java上我已经为这个免责声明选择了一个游标:

public Cursor getDisclaimer(String where) {
Cursor c = myDataBase.rawQuery("select * from disclaimer " + where,
    null);
    return c;
}

但我真的不知道如何继续使用DisclaimerActivity.java。 由于这个应用程序已经存在并且可以使用这个内置数据库,(与其他表一起使用),我被盗了#34;从那里得到一段代码,我知道这段代码应该如何看,但远非正确:

public class DisclaimerActivity extends TranslatableActivity {
private int id;
private String _disclaimer = "";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_disclaimer);
    id = getIntent().getIntExtra("ID", -1);
    setData(id);
}

private void setData(int ID) {
    databaseHelper db;
    try {
        db = new databaseHelper(getApplicationContext());
        db.opendatabase();
        Cursor cur = db.getDisclaimer("where discID = " + id);
        }

    cur.close();
    WebView disclaimer = ((WebView) findViewById(R.id.detail_disclaimer));
    disclaimer.loadData(
        "<html><head><meta charset=\"ISO-8859-1\" /></head><body><div align=\"justify\"><font size=\"4pt\" color=\"007600\">"
            + _disclaimer
            + "</font>"
            + "</div></body></html>",
        "text/html; charset=UTF-8", null);
    disclaimer.setWebViewClient(new WebViewClient() {
    });

    db.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

有人可以帮我解决这个代码,以便能够在这个提到的webview布局上显示备忘录字段,甚至更多,能够根据当前选择的当前语言显示它吗?

了解更多信息,一段代码,不要犹豫,问我,如果我能提供它,我很乐意尽力帮助。

1 个答案:

答案 0 :(得分:0)

我用这段代码解决了所有问题:

WebView DisclaimerWebView = ((WebView) findViewById(R.id.disclaimer_info));
DisclaimerWebView.loadData(
    "<html><head><meta charset=\"ISO-8859-1\" /></head><body><div align=\"justify\">"
        + LanguageUtil.getText(LanguageUtil.label_DisclText)
        + "</div></body></html>",
    "text/html; charset=UTF-8", null);

但似乎反应有点慢。文本本身在1-2秒后显示。是否可以更快地显示?