怎么改变Activity中的TextView内容

 今天做新浪分享,调用接口拿到用户头像,用户名时,直接setText()总出错。原来如此:

改变TextView中的内容

改变TextView中的内容可以通过Handler。Handler是Android中的消息发送器,其在哪个Activity中创建就属于且紧紧属于该Activity。还可以说其在哪个线程中new的,就是那个线程的Handler。

如果想改变TextView中的内容,就要通过Handler来实现,比如想每秒钟更新一下时间,那么如下:

<!--[if !supportLists]-->(1)        <!--[endif]-->在Activity中创建Handler

<!--[if !supportLists]-->(2)        <!--[endif]-->创建一个实现了Runnable接口的线程类

<!--[if !supportLists]-->(3)        <!--[endif]-->通过Handler的Post方法将Runnable添加进入消息队列

<!--[if !supportLists]-->(4)        <!--[endif]-->ok了。呵呵

代码

 

Java代码
  1.       package rznh.zcl;   
  2.       import android.app.Activity;   
  3.       import android.os.Bundle;   
  4.       import android.os.Handler;   
  5.       import android.view.View;   
  6.       import android.widget.Button;   
  7.       import android.widget.TextView;   
  8.       public class MyActivity extends Activity {   
  9.             
  10. 10              private Button butStart;   
  11. 11              private Button butStop;   
  12. 12              TextView tv;   
  13. 13              int i=0;   
  14. 14              Handler handler=new Handler();   
  15. 15         @Override  
  16. 16         public void onCreate(Bundle savedInstanceState) {   
  17. 17             super.onCreate(savedInstanceState);   
  18. 18             setContentView(R.layout.main);   
  19. 19               
  20. 22             //all by zcl qq158067568   
  21. 23             butStart=(Button)findViewById(R.id.Button01);   
  22. 24             butStop=(Button)findViewById(R.id.Button02);   
  23. 25             tv=(TextView)findViewById(R.id.TextView01);   
  24. 26             butStart.setOnClickListener(new View.OnClickListener() {   
  25. 27                    @Override  
  26. 28                    public void onClick(View v) {   
  27. 29                             handler.post(runnable);   
  28. 30                    }   
  29. 31         });   
  30. 32               butStop.setOnClickListener(new View.OnClickListener() {   
  31. 33                           @Override  
  32. 34                           public void onClick(View v) {   
  33. 35                                    handler.removeCallbacks(runnable);   
  34. 36                           }   
  35. 37                  });   
  36. 38         }   
  37. 39         Runnable runnable=new Runnable(){   
  38. 40       
  39. 41                       @Override  
  40. 42                       public void run() {   
  41. 43                                 tv.setText(String.valueOf(i++));   
  42. 44                                 handler.postDelayed(runnable, 1000);   
  43. 45                       }   
  44. 46         };   
  45. 47     }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值