2012-02-22 14 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使用量を最小限に抑えるだけでした。しかし、それが不可能な場合、最も重要な問題(クリックでスレッドを作成する)に対する答えを知る可能性はありますか? –

+0

あなたのコメントに対処するために更新されました。 – kabuko

+0

私はちょうど全体のポイントを説明すればもっと簡単かもしれません:) 現在のGUI(スレッド)は、editviewとボタンで構成されています。私は既に、ボタンをクリックすると表示されるGUI用の.XMLファイルを作成しました。 (私はまた、ボタンを次のGUIにeditviewの内容を転送するが、私は自分自身を把握する:) :) Btw ...私はそれがOnClickをオーバーライドするために非常に苦労している..私は 'ソースに行き、メソッドを実装しようとするときにそれを見つけてください。 –

関連する問題