我希望我的按钮启动一个新线程并销毁按钮所在的线程,点击它后,我该怎么做?
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);
}
答案 0 :(得分:7)
销毁按钮所在的[线程]
虽然你的措辞不是很清楚,但只有一个UI线程是主线程。作为UI的一部分的按钮“位于”(或多或少)在UI线程上。你不能销毁那个线程并替换它。
如果您希望通过此方式实现某些特定内容,则应将其与特定要求一起发布。
<强>更新强>
如果您只想在点击时创建一个新线程,那么从技术上来说就是这样做:
proceed.setOnClickListener(new OnClickListener() {
@Override
public void OnClick(View v) {
new Thread();
}
});
但这并没有做任何有用的事情。另请注意,创建新线程不会“将CPU使用率降至最低”。创建新线程会为CPU创建更多工作。但是,您可以将一些工作从UI线程移动到后台线程,这将使用户体验更顺畅。如果这是你的目标,你应该阅读document entitled Painless Threading。