作者fake01 (code)
看板AndroidDev
標題Re: [問題] android Service ?
時間Sun Jun 2 23:11:03 2013
後來我發現是
Intent intent=new Intent();
intent.setClass(MainActivity.this,fileAdd.class);
Bundle bundle=new Bundle();
bundle.putString("str",saveStr);
intent.putExtras(bundle);
startActivity(intent);
這裡造成我不能按menu,後來將另一個java檔的class內容,移到同一個java下,
就解決問題了,不過我還是想問下次如果再遇到同樣問題該如何解決,我有看到上一篇
有人回答用handler但是我本身這段程式碼就是寫在handler裡面,我將程式碼在列在下方
private final Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case MESSAGE:
byte[] readBuf = (byte[]) msg.obj;
int [] dataBuf = new int [msg.arg1];
for(int i=0;i<msg.arg1;i++)
dataBuf[i] = readBuf[i] & 0xff;
int [] handleBuf = new int [5];
handleBuf[0]=dataBuf[1]*256+dataBuf[2];
handleBuf[1]=dataBuf[3]*256+dataBuf[4];
handleBuf[2]=dataBuf[5];
handleBuf[3]=dataBuf[6];
handleBuf[4]=dataBuf[7]*256+dataBuf[8];
String SaveStr="....";
tvOutPutOne.setText(Integer.toString(handleBuf[2]));
tvOutPutTwo.setText(Integer.toString(handleBuf[3]));
Intent intent=new Intent();
intent.setClass(MainActivity.this,fileAdd.class);
Bundle bundle=new Bundle();
bundle.putString("str",saveStr);
intent.putExtras(bundle);
startActivity(intent);
break;
};
這個handler 是由另一個java回傳的訊息,我有想用再另一個handler來處理,
但我不知道該如何得到這個handler 內的變數(byte [] readBuf)?
問題
1. 原本就已經使用handler,但同樣會造成menu無法點選,該如何解決?
2. 如何取的上述handler內的變數?
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.241.209.170
→ KeySabre:送message是誰? 何時送? menu不能按是否是因為ui thread 06/03 01:46
→ KeySabre:被佔用所以無法處理keyevent? 前文說會頻繁使用,指的是 06/03 01:46
→ KeySabre:這整段handle MESSAGE嗎? 那就是頻繁startActivity? 06/03 01:46
→ Jyie:請問handler是ui thread的嗎? 耗時的工作你還是讓ui thread 06/03 09:04
→ Jyie:去做,這樣子你寫handle有甚麼意義勒? 06/03 09:05
→ KeySabre:他的handler可以做TextView setText,是在ui thread。 06/03 12:01
→ Jyie:照他說卡住的地方應該是在它跳過去的Class下卡住的吧? 06/03 12:17
→ fake01:K大 message 是另一個 handler 傳回來的訊息 06/03 12:32
→ fake01:mHandler.obtainMessage(Activity.MESSAGE,,); 06/03 12:33
→ fake01:應該不是調整ui 的時候有問題 .setText();是不會卡住的 06/03 12:33
→ fake01:當我註解 //startActivity(); 就不會有卡住的現象 06/03 12:34
→ Jyie:你有沒有考慮檢查看看fileAdd.class的Code 06/03 12:49
→ KeySabre:上一篇文說的一秒100筆是指一秒送一百次MESSAGE嗎? 06/03 15:06
→ KeySabre:fileAdd的onNewIntent有收到更新的值嗎? 06/03 15:09