Bruno o seu problema é que você esta modificando o item visual em sua Thread, ou seja, um componente de tela dentro de um Thread.
Há um bloqueio no Android para que não possa modificar componentes visuais nos app diretamente dentro de uma Thread. Para resolver o seu problema procure por Handler ou AsyncTask
2012/6/21 Bruno Rafael Sant Ana <bruno.santana.ti@gmail.com>
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






0 comentários:
Postar um comentário