单击按钮启动新线程

时间:2012-02-22 22:49:10

标签: android button action

我希望我的按钮启动一个新线程并销毁按钮所在的线程,点击它后,我该怎么做?

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);



}

1 个答案:

答案 0 :(得分:7)

  

销毁按钮所在的[线程]

虽然你的措辞不是很清楚,但只有一个UI线程是主线程。作为UI的一部分的按钮“位于”(或多或少)在UI线程上。你不能销毁那个线程并替换它。

如果您希望通过此方式实现某些特定内容,则应将其与特定要求一起发布。

<强>更新

如果您只想在点击时创建一个新线程,那么从技术上来说就是这样做:

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

但这并没有做任何有用的事情。另请注意,创建新线程不会“将CPU使用率降至最低”。创建新线程会为CPU创建更多工作。但是,您可以将一些工作从UI线程移动到后台线程,这将使用户体验更顺畅。如果这是你的目标,你应该阅读document entitled Painless Threading