我希望我的按钮启动一个新线程并销毁按钮所在的线程,点击它后,我该怎么做?
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);
}
最佳答案
destroy the [thread] on which the button is located
虽然你的措辞不是很清楚,但只有一个UI线程是主线程。作为 UI 一部分的按钮“位于”(或多或少)在 UI 线程上。您不能销毁该线程并替换它。
如果您希望通过此实现一些特定的目标,您应该将其与特定要求一起发布。
更新:
如果您只是想在点击时创建一个新线程,那么从技术上讲,这样做就可以了:
proceed.setOnClickListener(new OnClickListener() {
@Override
public void OnClick(View v) {
new Thread();
}
});
但这并没有做任何有用的事情。另请注意,创建新线程不会“使 CPU 使用率降至最低”。创建新线程会给 CPU 带来更多的工作。但是,您可以将一些工作从 UI 线程转移到后台线程,这将使用户体验更加流畅。如果那是你的目标,你可能应该阅读这篇 document entitled Painless Threading .
关于android - 单击按钮开始新线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9404456/