Qual componente visual está sendo alterado dentro da thread? Pq essa linha apenas inseri um dado no banco:
dao.insert("uma string");
Só se for essa linha aqui:
progressDialog.dismiss();
Para resolver não é só jogar a linha depois da thread então? Assim:
public void progresso() {
dao.insert("uma string");
Só se for essa linha aqui:
progressDialog.dismiss();
Para resolver não é só jogar a linha depois da thread então? Assim:
public void progresso() {
dao = new DAO(this);
if (dao.isEmpty()) {
progressDialog = ProgressDialog.show(this, "",
"Salvando todas as frases...");
new Thread(new Runnable() {
public void run() {
try {
dao.insert("uma string");
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
progressDialog.dismiss();
progressDialog.dismiss();
}
Em quinta-feira, 21 de junho de 2012 02h29min17s UTC-3, Bruno Rafael Sant Ana escreveu:
Olá,por favor me ajudem, não sei o que estou fazendo de errado. Esse método executa e dá erro:public void progresso() {dao = new DAO(this);if (dao.isEmpty()) {progressDialog = ProgressDialog.show(this, "","Salvando todas as frases...");new Thread(new Runnable() {public void run() {try {dao.insert("uma string");progressDialog.dismiss();} catch (Exception e) {e.printStackTrace();}}}).start();}}Só para constar, assim ele funciona, só que sem o ProgressDialog:public void progresso() {dao = new DAO(this);if (dao.isEmpty()) {dao.insert("uma string");}}Para poderem analisar melhor segue o construtor dessa classe DAO que eu fiz:public DAO(Context context) {this.context = context;Helper helper = new Helper(this.context);this.bancoDeDados = helper.getWritableDatabase();this.insertStatement = this.bancoDeDados.compileStatement(INSERT); }O erro que dá no LogCat é esse:06-21 02:20:12.609: E/AndroidRuntime(20895): FATAL EXCEPTION: main06-21 02:20:12.609: E/AndroidRuntime(20895): java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.android.java.frasesdiarias/br.com. android.java.frasesdiarias. FrasesDiariasActivity}: java.lang. IllegalArgumentException 06-21 02:20:12.609: E/AndroidRuntime(20895): at android.app.ActivityThread.performLaunchActivity( ActivityThread.java:1651) 06-21 02:20:12.609: E/AndroidRuntime(20895): at android.app.ActivityThread.handleLaunchActivity( ActivityThread.java:1667) 06-21 02:20:12.609: E/AndroidRuntime(20895): at android.app.ActivityThread.access$1500(ActivityThread. java:117) 06-21 02:20:12.609: E/AndroidRuntime(20895): at android.app.ActivityThread$H.handleMessage(ActivityThread. java:935) 06-21 02:20:12.609: E/AndroidRuntime(20895): at android.os.Handler.dispatchMessage(Handler.java: 99) 06-21 02:20:12.609: E/AndroidRuntime(20895): at android.os.Looper.loop(Looper.java:130) 06-21 02:20:12.609: E/AndroidRuntime(20895): at android.app.ActivityThread.main(ActivityThread.java:3687) 06-21 02:20:12.609: E/AndroidRuntime(20895): at java.lang.reflect.Method.invokeNative(Native Method) 06-21 02:20:12.609: E/AndroidRuntime(20895): at java.lang.reflect.Method.invoke(Method.java:507) 06-21 02:20:12.609: E/AndroidRuntime(20895): at com.android.internal.os.ZygoteInit$ MethodAndArgsCaller.run( ZygoteInit.java:867) 06-21 02:20:12.609: E/AndroidRuntime(20895): at com.android.internal.os.ZygoteInit.main(ZygoteInit. java:625) 06-21 02:20:12.609: E/AndroidRuntime(20895): at dalvik.system.NativeStart.main(Native Method) 06-21 02:20:12.609: E/AndroidRuntime(20895): Caused by: java.lang.IllegalArgumentException 06-21 02:20:12.609: E/AndroidRuntime(20895): at java.util.Random.nextInt(Random.java:186) 06-21 02:20:12.609: E/AndroidRuntime(20895): at br.com.android.java.frasesdiarias. FrasesDiariasActivity. sortearFrase( FrasesDiariasActivity.java: 241) 06-21 02:20:12.609: E/AndroidRuntime(20895): at br.com.android.java.frasesdiarias. FrasesDiariasActivity. onCreate( FrasesDiariasActivity.java:42) 06-21 02:20:12.609: E/AndroidRuntime(20895): at android.app.Instrumentation.callActivityOnCreate( Instrumentation.java:1047) 06-21 02:20:12.609: E/AndroidRuntime(20895): at android.app.ActivityThread.performLaunchActivity( ActivityThread.java:1615) 06-21 02:20:12.609: E/AndroidRuntime(20895): ... 11 more






0 comentários:
Postar um comentário