当前位置: 代码迷 >> Android >> AlertDialog中实施调用消息机制操作意外停止!
  详细解决方案

AlertDialog中实施调用消息机制操作意外停止!

热度:106   发布时间:2016-04-28 07:52:26.0
AlertDialog中执行调用消息机制操作意外停止!!!!?????


//AlertDialog中执行调用消息机制操作意外停止!!!!?????
//下面的代码直接可以运行的,无解啊,为什么会意外停止??求救!!

package com.example.alertdlgtest;

import java.util.Timer;
import java.util.TimerTask;

import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {
Handler mHandler =null;
TextView text;
Timer timerMission;
TimerTask Mission;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1=(Button)findViewById(R.id.button1);
text=(TextView)findViewById(R.id.textView1);
button1.setOnClickListener(new Button.OnClickListener(){
@Override 
public void onClick(View v) {
TipDlgDisaplay(null,null,null,3);
}

});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void StartW(int type)
{
        Mission=new TimerTask(){
         public void run()
         {
text.setText("sad");
         }
        };
timerMission = new Timer();
if(type==1)
{
timerMission.schedule(Mission, 1000);//等待UI线程完成初始化
}else{
timerMission.schedule(Mission, 4000);//等待UI线程完成初始化
}

}
public void TipDlgDisaplay(String TipContext,String LeftButtonText,String RightButtonText,int Type)
{
   new AlertDialog.Builder(this)
     //.setIcon(R.drawable.title)
     .setTitle("确定?")
     .setMessage("是否?")
     .setPositiveButton("否()",
       new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog,int which) {
         //CancelLoadIN();
         StartW(2);
        }
       })
       .setNegativeButton("是()", new DialogInterface.OnClickListener(){

      public void onClick(DialogInterface dialog, int which) {
       // TODO Auto-generated method stub
       //BackRun();
       StartW(1);
      }
})     
.create()
    .show();
}



}

------解决方案--------------------
public void run()
         {
text.setText("sad");
         }
        };线程里面不能text.setText("sad");得发消息来更新text