Tecnologia do Blogger.
RSS

[androidbrasil-dev] Re: java.lang.IllegalArgumentException

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 = 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();
}


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: main
06-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

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário