代码解释 private Handler mHandler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); Bundle bundle; switch (msg.what){ case msgKey1: bundle =msg.getData(); textView.setText(bundle.getString(pingRes)); break; default: break; } } };
时间: 2023-05-23 13:00:43 浏览: 95
这段代码定义了一个私有的Handler类,并重写了它的handleMessage方法。在该方法中,根据msg传递过来的what值进行了不同的操作,当what等于msgKey1时,将msg中的数据通过Bundle获取并设置到textView中,否则不进行任何操作。
相关问题
Android handler的使用代码
下面是一个简单的 Android Handler 的使用示例代码:
```java
public class MainActivity extends AppCompatActivity {
private Handler mHandler;
private TextView mTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = findViewById(R.id.text_view);
// 创建 Handler 对象,指定在 UI 线程中执行
mHandler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(@NonNull Message msg) {
super.handleMessage(msg);
// 处理消息
if (msg.what == 1) {
mTextView.setText("Hello World!");
}
}
};
// 发送消息
mHandler.sendEmptyMessage(1);
}
}
```
在这个示例中,我们创建了一个 Handler 对象,并指定它在 UI 线程中执行。然后我们发送一个空消息,这个消息的 what 值为 1。在 Handler 的 handleMessage() 方法中,我们处理这个消息,如果它的 what 值为 1,就将 TextView 的文本设置为 "Hello World!"。由于这个 Handler 是在 UI 线程中创建的,因此它可以直接更新 UI。
Android ALoop,AHandler, AMessage 使用举例
Android ALoop 是 Android 系统中的一个消息循环机制,AHandler 是 ALoop 中的一个消息处理器,AMessage 是 ALoop 中传递的消息。
下面是一个使用 ALoop、AHandler、AMessage 的简单举例:
```java
public class MyActivity extends Activity {
private MyHandler mHandler;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mHandler = new MyHandler();
mHandler.sendMessage(mHandler.obtainMessage(MSG_HELLO));
}
private static final int MSG_HELLO = 1;
private class MyHandler extends Handler {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case MSG_HELLO:
Log.d("MyActivity", "Hello, world!");
break;
default:
super.handleMessage(msg);
break;
}
}
}
}
```
这个例子中,我们创建了一个 MyHandler 类,继承自 AHandler,重写了 handleMessage() 方法用于处理消息。我们在 onCreate() 方法中创建了一个 MyHandler 对象,并使用 sendMessage() 方法将消息发送给它。MyHandler 收到消息后,会根据消息的 what 字段来判断消息的类型,然后进行相应的处理。在这个例子中,我们只有一种消息类型,即 MSG_HELLO,收到该消息后会输出 "Hello, world!"。
这是 ALoop、AHandler、AMessage 的一个简单使用示例,它们的具体使用方式和场景还需要根据具体需求进行设计和实现。
阅读全文