O problema está no arquivo FrasesDiariasActivity.java na linha 241, na funcão sortearFrase, no parâmetro passado para o nextInt...
Thiago
--
Thiago Rosa
2012/6/21 Bruno Rafael Sant Ana <bruno.santana.ti@gmail.com>
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: 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.IllegalArgumentException06-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.IllegalArgumentException06-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
Thiago Rosa






0 comentários:
Postar um comentário