Android中的Handler01
//首先在XML文件中配置一下
接下来重点是MainActivity中的代码段
创新互联公司主打移动网站、成都网站设计、成都做网站、外贸网站建设、网站改版、网络推广、网站维护、申请域名、等互联网信息服务,为各行业提供服务。在技术实力的保障下,我们为客户承诺稳定,放心的服务,根据网站的内容与功能再决定采用什么样的设计。最后,要实现符合网站需求的内容、功能与设计,我们还会规划稳定安全的技术方案做保障。
public class MainActivity extends Activity { private Button but; private TextView textview; private Handler handler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); but=(Button)findViewById(R.id.butid); textview=(TextView)findViewById(R.id.textViewId); but.setOnClickListener(new ButList()); handler =new MyHandler(); } class ButList implements OnClickListener{ @Override public void onClick(View v) { NetWorkThread net=new NetWorkThread(); net.start(); } } class MyHandler extends Handler{ @Override public void handleMessage(Message msg) { //Toast.makeText(getApplicationContext(), Thread.currentThread().getName(), Toast.LENGTH_LONG).show(); String s=(String)msg.obj; textview.setText(s); } } class NetWorkThread extends Thread{ @Override public void run() { //模拟访问网络,所以当线程运行时,首先休眠2秒钟 //Toast.makeText(getApplicationContext(), Thread.currentThread().getName(), Toast.LENGTH_LONG).show();//得到当前线程的名字 try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } //模拟的数据 String s="从网络当中获取的数据"; //textview.setText(s);这样做是错误的,因为Android系统中,只有在Main Thread 中才能操作UI Message msg=handler.obtainMessage(); msg.obj=s; handler.sendMessage(msg); } }
这仅仅是模拟Handler的小Demo,仅供自己学习使用。谢谢大家。
本文标题:Android中的Handler01
URL标题:http://pwwzsj.com/article/pdisod.html