我想将数据从数据库分配到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"));
}
答案 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"));
}
});