Android分配给textview

时间:2015-06-19 16:11:14

标签: android

我想将数据从数据库分配到textview或变量。但是在为textview或变量赋值时会出错。当我记录显示数据时,没关系。

错误:     只有创建视图层次结构的原始线程才能触及其视图。

以下是代码:

try {
            String sql = "SELECT Cname FROM demo";
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(sql);

            while (rs.next()) {
                  TextView txtValue = (TextView)findViewById(R.id.textView3);
            txtValue.setText(rs.getString("Cname"));

            }

1 个答案:

答案 0 :(得分:3)

由于错误意味着您需要在主线程上设置文本。

您可以通过TextView发布消息,因此它可以在UI线程上运行:

final ResultSet rs = stmt.executeQuery(sql);
...
final TextView txtValue = (TextView) findViewById(R.id.textView3);
txtValue.post(new Runnable() {
    @Override
    public void run() {
        txtValue.setText(rs.getString("Cname"));
    }
});