2012-02-22 101 views
1

我希望我的按鈕啓動一個新線程並銷燬該按鈕所在的那個線程,點擊它後,我該怎麼做?在buttonclick上啓動新線程

package inno.games; 

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.MotionEvent; 
import android.view.View; 
import android.view.inputmethod.InputMethodManager; 
import android.widget.Button; 
import android.widget.EditText; 

public class Introscreen extends Activity { 


Button proceed; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.intro); 


proceed = (Button) findViewById(R.id.bProceed); 



} 

回答

7

破壞[主題]上的按鈕位於

雖然你的措辭是不完全清楚,只有一個UI線程是主線程。作爲UI一部分的按鈕「位於」(或多或少)在UI線程上。您不能銷燬該線程並將其替換。

如果您希望通過這種方式實現某些特定功能,則應該將其與特定要求一起發佈。

更新:

如果你只是想創建上點擊一個新的線程,然後在技術上這做的:

proceed.setOnClickListener(new OnClickListener() { 
    @Override 
    public void OnClick(View v) { 
     new Thread(); 
    } 
}); 

但是這並不完全做任何有用的。另外請注意,創建新線程不會「最大限度地減少CPU使用率」。創建一個新的線程創建更多爲CPU工作。但是,您可能可以將某些工作從UI線程移動到後臺線程,從而使用戶體驗更加順暢。如果這是你的目標,你應該閱讀這個document entitled Painless Threading

+0

我沒有意識到這一點,只是爲了讓CPU使用率達到最低tbh。但是,如果不可能,是否有機會知道最重要問題的答案(點擊創建線索)? – 2012-02-22 23:10:17

+0

已更新,以解決您的評論。 – kabuko 2012-02-22 23:24:14

+0

可能會更容易,如果我只是解釋整點:) 當前的GUI(線程)是由一個editview和一個按鈕組成。我已經爲我想在點擊按鈕時出現的GUI製作.XML文件。 (我也希望按鈕將編輯視圖的內容傳輸到下一個GUI,但是我會弄清楚自己:))順便說一句...我很努力地爭取重寫OnClick ..我可以'在去源代碼並嘗試實現方法時找到它。 – 2012-02-22 23:28:06