перенёс в самый конец функции с потоком
уже после вызова и выполнения
[syntax=java]adapter.notifyDataSetChanged();
mainlist.setAdapter(adapter);[/syntax]
вижу белый экран,
вот полный код функции...
[syntax=java]void ReadList() {
final ListView mainlist = (ListView) findViewById(R.id.mainlist);
final ArrayAdapter<String> adapter;
final ArrayList<String> theme = new ArrayList<String>();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, theme);
try {
Log.d("My Logs", "Запускаем поток");
Thread t = new Thread(new Runnable() {
public void run() {
Connection conn = null;
sPref = getSharedPreferences("Setting", MODE_PRIVATE);
String hostname = sPref.getString("HOST", "");
String userName = sPref.getString("mlogin", "");
String password = sPref.getString("mpass", "");
String url = "jdbc:mysql://"+hostname+":3306/srv29435_rain";
try {
Log.d("My Logs", "Подключаем драйвер");
Class.forName("com.mysql.jdbc.Driver").newInstance();
Log.d("My Logs", "Подключили");
} catch (InstantiationException e) {
Log.d("My Logs", "не подключили");
Log.e("My Logs",Log.getStackTraceString(e));
} catch (IllegalAccessException e) {
Log.d("My Logs", "Не подключили, правов маловато");
Log.e("My Logs",Log.getStackTraceString(e));
} catch (ClassNotFoundException e) {
Log.d("My Logs", "Не подключили класс не найден");
Log.e("My Logs",Log.getStackTraceString(e));
}
try {
Log.d("My Logs", "Подключаемся");
conn = DriverManager.getConnection(url, userName, password);
Log.d("MyLog", "Подключилось");
Statement s = null;
s = conn.createStatement();
Log.d("MyLog", "Отправляем запрос");
s.executeQuery("Select * from users");
Log.d("MyLog", "Отправили");
ResultSet rs = null;
Log.d("MyLog", "Получаем ответ");
rs = s.getResultSet();
Log.d("MyLog", "Получили");
while (rs.next()) {
String passN = rs.getString("pass");
String loginN = rs.getString("login");
theme.add(0,loginN);
}
rs.close();
s.close();
} catch (Exception e) {
Log.d("My Logs", "Не получилось");
Log.e("My Logs",Log.getStackTraceString(e));
}
try {
if (conn!=null) conn.close();
} catch (Exception e) {
Log.e("My Logs",Log.getStackTraceString(e));
}
}
});
t.start();
} catch (Exception e) {
Log.e("My Logs",Log.getStackTraceString(e));
System.err.println("Не вышло");
}
adapter.notifyDataSetChanged();
mainlist.setAdapter(adapter);
}[/syntax]
