android中Handler线程中handleMessage(android.os.Message msg)函数不执行,小弟想做一个类似微信的语音 35

部分代码:一Handlerhan=newHandler(){publicvoidhandleMessage(android.os.Messagemsg){Toast.ma... 部分代码:

Handler han = new Handler() {
public void handleMessage(android.os.Message msg) {
Toast.makeText(MessageActivity.this, "jinlail", Toast.LENGTH_LONG).show();
LinearLayout client = new LinearLayout(MessageActivity.this);
TextView t = new TextView(MessageActivity.this);
t.setText(msg.getData().getString("username") + "说:");
Button button = new Button(MessageActivity.this);
button.setText("播放");
final String filepath = msg.getData().getString("filename");
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
MediaPlayer mediaPlayer = new MediaPlayer();
if (mediaPlayer.isPlaying()) {
mediaPlayer.reset();
}
try {
mediaPlayer.setDataSource("/sdcard/" + filepath);
mediaPlayer.prepare();
mediaPlayer.start();
} catch (Exception e) {
// TODO: handle exception
}
}
});
client.setOrientation(LinearLayout.HORIZONTAL);
client.addView(t);
client.addView(button);
line.addView(client);
};
};

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.message);
new Thread() {
public void run() {
UDPServer.message=MessageActivity.this;
try {
UDPServer.openServer();
} catch (Exception e) {
e.printStackTrace();
}
};
}.start();
}

Message msg = new Message();
Bundle b3 = new Bundle();b3.putString("username", s.split(",")[0]);
b3.putString("filename", s.split(",")[1]);
msg.setData(b3); message.han.sendMessage(msg);
展开
 我来答
幸运的高鹏珍
2015-02-16
知道答主
回答量:1
采纳率:0%
帮助的人:1280
展开全部
光看这些只能判断如果 Handler里没有问题 UDPServer怎么调取的message Message里的han是否为空 你可以再好好看看, 主要看看 UDPServer.openServer();跟Message的初始化方法,看看message.han是否为空
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式