我收到FATAL EXCEPTION: AsyncTask #1
错误。Android Toast错误
我还没有创建一个异步任务,我简单地称为下面的代码。
我打电话从连接到网络的一类以下内容:
Toast.makeText(context, "Connection Successful", Toast.LENGTH_LONG).show();
context
已经从MainActivity
构造通过。
我不知道我在做什么错在这里。
我收到FATAL EXCEPTION: AsyncTask #1
错误。Android Toast错误
我还没有创建一个异步任务,我简单地称为下面的代码。
我打电话从连接到网络的一类以下内容:
Toast.makeText(context, "Connection Successful", Toast.LENGTH_LONG).show();
context
已经从MainActivity
构造通过。
我不知道我在做什么错在这里。
化妆以下用于示出从Network
类(非活性类)吐司改变:
步骤:1通行证活动上下文到网络类,而不是getBaseContext()
:
netConnection = new Network(new Network.OnMessageReceived() {
@Override
// here the messageReceived method is implemented
public void messageReceived(String message) {
// this method calls the onProgressUpdate
publishProgress(message);
}
},Your_Current_Activity_Name.this);
步骤2:使用runOnUiThread
来显示Toast from网络课程:
public boolean connect() {
//....your code..
Activity activity = (Activity) context;
activity.runOnUiThread(new Runnable() {
public void run() {
//show your Toast here..
Toast.makeText(context,"Connection Successful", Toast.LENGTH_LONG).show();
}
});
//....your code..
}
谢谢,现在就试试看,看起来很有希望。 – Zapnologica 2013-03-26 12:35:28
伟大的答案!非常感谢你。完美工作。 – Zapnologica 2013-03-26 12:38:01
@Zapnologica:很高兴能帮到你。 – 2013-03-26 12:42:31
Toast.makeText(getApplicationContext(), "Connection Successful", Toast.LENGTH_LONG).show()
getApplicationContext()不起作用,eclipse说创建方法。 – Zapnologica 2013-03-26 11:53:44
酷..有没有android sdk我认为你有! – 2013-03-26 11:56:57
Android SDk已安装,应用程序的所有其他方面均可正常工作。如果类扩展活动,getApplicationContext()不仅可以工作吗? – Zapnologica 2013-03-26 11:58:57
变化:
Toast.makeText(context, "Connection Successful", Toast.LENGTH_LONG).show();
到
Toast.makeText(getBaseContext(), "Connection Successful", Toast.LENGTH_LONG).show();
getBaseContext()不起作用,它表示创建方法'getbaseContext' – Zapnologica 2013-03-26 11:53:24
@ user1331971您可以将'public class Network'更改为 'public class Network extends Activity'? – Bigflow 2013-03-26 12:04:09
@ user1331971然后,您可以使用我的或Nirav的解决方案 – Bigflow 2013-03-26 12:04:36
这里什么奇怪的答案:)
第一个男人要你从Activity
扩展Network
类,第二个告诉你,你还没有Android SDK :)
你只需要正确的Context
对象发送到您的Network
对象,你需要从getBaseContext()
方法发送Context
对象,因为这个上下文对象是Toast
消息(here you can read explanation about that)是正确的。
您可以发布Toast命令所在的代码吗?它是在一个活动,一个服务,一个线程......这一切都将帮助人们回答你。你可能没有创建一个AsyncTask,但是你创建了什么? – 2013-03-26 11:48:13
你能显示整个代码吗?请问 – Developer 2013-03-26 11:48:27
和整个日志输出? – dumbfingers 2013-03-26 11:48:45