我收到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