extends
發表人:
訪客
你好,請問在一個extends thread 的程式碼裡,要怎麼寫切換頁面的程式?
因為要切換頁面好像是要寫在 extends activity裡
因為要切換頁面好像是要寫在 extends activity裡
發表人:
Seachaos
積分: 2432
積分: 2432
如果你要用Thread來切換Activity或是顯示GUI的話,要用Handle來做
可以的話就盡量把Activity或GUI部份寫在Thread外
以下是最簡單的從Thread處理Activty範例
[sea:javaCode]
// 發給Handler一個Message
myHandler.sendMessage(new Message());
[/sea]
這是handler的範例
[sea:javaCode]
public Handler myHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// 處理Activity或是GUI
}
};
[/sea]
進階的話可以從Message來傳不同的訊息
可以的話就盡量把Activity或GUI部份寫在Thread外
以下是最簡單的從Thread處理Activty範例
[sea:javaCode]
// 發給Handler一個Message
myHandler.sendMessage(new Message());
[/sea]
這是handler的範例
[sea:javaCode]
public Handler myHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// 處理Activity或是GUI
}
};
[/sea]
進階的話可以從Message來傳不同的訊息
發表人:
訪客
你好,
public Handler myHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// 處理Activity或是GUI
Intent intent=new Intent();
intent.setClass(DecodeThread.this,first.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//呼叫一個新的Activity
startActivity(intent);
}
};
我在裡面放置的程式碼是這樣,可是一直出現錯誤,
是因為不能用intent嗎?
public Handler myHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// 處理Activity或是GUI
Intent intent=new Intent();
intent.setClass(DecodeThread.this,first.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//呼叫一個新的Activity
startActivity(intent);
}
};
我在裡面放置的程式碼是這樣,可是一直出現錯誤,
是因為不能用intent嗎?
發表人:
Seachaos
積分: 2432
積分: 2432
您好,不知道你說的錯誤是?
是執行階段的? 還是說在IDE裡的錯誤?
因我沒有看到全部,所以不太清楚是那方面的問題
是執行階段的? 還是說在IDE裡的錯誤?
因我沒有看到全部,所以不太清楚是那方面的問題
發表人:
訪客
你好,就是在
Intent intent=new Intent();
intent.setClass(DecodeThread.this,first.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//呼叫一個新的Activity
startActivity(intent);
這個部分找不到setClass與startActivity
不知是哪裡有問題
Intent intent=new Intent();
intent.setClass(DecodeThread.this,first.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//呼叫一個新的Activity
startActivity(intent);
這個部分找不到setClass與startActivity
不知是哪裡有問題
發表人:
Seachaos
積分: 2432
積分: 2432
您好:
我想你會不會是把myHandle放錯地方了?
他是要放在Acitivty內的,例如:
[sea:javaCode]
public class Main extends Activity{
....
public Handler myHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// 處理Activity或是GUI
}
};
}
[/sea]
如果你放在Activity外的話就會有問題
我想你會不會是把myHandle放錯地方了?
他是要放在Acitivty內的,例如:
[sea:javaCode]
public class Main extends Activity{
....
public Handler myHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// 處理Activity或是GUI
}
};
}
[/sea]
如果你放在Activity外的話就會有問題
發表人:
訪客
你好,所以是要寫成
public class Main extends thread{
....
}
public class Main extends Activity{
....
public Handler myHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
}
};
}
這樣嗎?
public class Main extends thread{
....
}
public class Main extends Activity{
....
public Handler myHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
}
};
}
這樣嗎?
發表人:
Seachaos
積分: 2432
積分: 2432
myHandle要在Activity(Main)內沒錯
另外你的Thread也要在Activity(Main)內
這樣才可以互相呼叫到
另外你的Thread也要在Activity(Main)內
這樣才可以互相呼叫到