您的位置:首页 > 移动开发 > Android开发

Android菜鸟练习第三十七课 Handler的基本用法

2017-01-06 14:10 519 查看
Handler的第一种用法Handler.post()
public class MainActivity extends AppCompatActivity {private TextView mTv;private Handler handler = new Handler();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mTv = (TextView) findViewById(R.id.tv);new Thread() {@Overridepublic void run() {//实现业务逻辑handler.post(new Runnable() {@Overridepublic void run() {//更新UImTv.setText("Handler的第一种用法");}});super.run();}}.start();}}
Handler的第二种用法Handler内部类实现Runnable接口
public class MainActivity extends AppCompatActivity {private TextView mTv;private Handler handler = new Handler();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mTv = (TextView) findViewById(R.id.tv);final MyRunnable myRunnable = new MyRunnable();new Thread() {@Overridepublic void run() {handler.post(myRunnable);super.run();}}.start();}public class MyRunnable implements Runnable {@Overridepublic void run() {mTv.setText("Handler的第二种使用方法");}}}
Handler的第三种使用方法handlerMessage()方式
public class MainActivity extends AppCompatActivity {private TextView mTv;private Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case 1:mTv.setText("Handler的第三种基本使用方式");break;}super.handleMessage(msg);}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mTv = (TextView) findViewById(R.id.tv);new Thread() {@Overridepublic void run() {Message message = new Message();message.what = 1;handler.sendMessage(message);super.run();}}.start();}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  handler