0
这段代码有什么问题?当我像这样实现它时,我的应用程序正常工作。Android thread.start()和runOnUiThread(thread);
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textOut = (EditText) findViewById(R.id.textout);
IPAddress = (EditText) findViewById(R.id.editTextIPAddress);
Button buttonSend = (Button) findViewById(R.id.send);
Button buttonSet = (Button) findViewById(R.id.set);
textIn = (TextView) findViewById(R.id.textin);
buttonSend.setOnClickListener(buttonSendOnClickListener);
buttonSet.setOnClickListener(buttonSetOnClickListener);
Thread myThread = new Thread()
{
public void run()
{
runClient();
}// end method run
};// end myThread
}// end method onCreate
但是当我这样实现它。它强制关闭:
3210我能够尝试这一点,但它改变了程序的逻辑:
Button.OnClickListener buttonSetOnClickListener = new Button.OnClickListener()
{
@Override
public void onClick(View arg0)
{
runOnUiThread(myThread);
}// end method onClick
};
Thread myThread = new Thread()
{
public void run()
{
runClient();
}// end method run
};// end myThread
第一代码运行MyThread的一次的onCreate()被调用。问题是我想在按下按钮后运行myThread。但是这样做会导致部队关闭。什么导致这个力量关闭,一旦按下按钮,我该怎么做才能运行线程?
第一个没有Thread.start调用,这样就无法运行你的线程。它只是创建线程的一个实例。从onClick开始线程即可。但是你应该发布你的logcat消息,否则几乎不可能找出错误原因。 – slkorolev
@slkorolev哦,是的,对不起,我忘了在这篇文章中添加myThread.start(),但是当我测试它时,我的程序中有这条线。我实际上不知道如何获得我的logcat消息。它如何完成日食? –
您在Eclipse中有一个特殊的logcat视图。通常它位于代码窗口下。查找LogCat选项卡标题。如果你最大化它,你可以找到异常堆栈的错误消息。 – slkorolev