2012-03-20 365 views
2

我對我的提交按鈕的吐司環境有些麻煩。我試過setApplicationContext()MyActivity.this,但都沒有工作...我不能解決它。有人有主意嗎?Android吐司上下文難題

我遇到的麻煩位是:

Toast.makeText(CustomItemizedOverlay.this, "clicked", Toast.LENGTH_SHORT).show(); 

編輯 原來,問題不只是背景下,解決「上下文」工作正常,如果一個公共情境變量聲明在課堂裏。實際上,代碼的其他部分導致其崩潰。

+0

嘗試'getBaseContext()'和 'getApplicationContext()' – 2012-03-20 19:00:38

+0

您好更換CustomItemizedOverlay.this ,getBaseContext()拋出與getApplicationContext()相同的錯誤「方法ge tBaseContext()未定義爲新的DialogInterface.OnClickListener(){「 – Kel196 2012-03-20 19:05:27

+0

使用'context.getApplicationContext()'和您的代碼,如果罰款 – 2012-03-20 19:31:19

回答

1

嘗試改變

Toast.makeText(CustomItemizedOverlay.this, allanswers[whichButton], Toast.LENGTH_SHORT).show(); 

Toast.makeText(context, allanswers[whichButton], Toast.LENGTH_SHORT).show(); 

假設你使用那臺context參數構造函數。

+0

您好,上下文似乎擺脫了錯誤,但是當我點擊提交按鈕它崩潰的應用程序。我認爲我沒有使用構造函數來設置上下文參數? – Kel196 2012-03-20 19:06:37

+0

@ user1281737 yep – 2012-03-20 19:08:52

+0

嗨克里斯,我是一個java初學者。你能指出我要查找什麼東西的粗略方向嗎? – Kel196 2012-03-20 19:11:19

1

試試這個:

Toast.makeText(context.getApplicationContext(), allanswers[whichButton], Toast.LENGTH_SHORT).show(); 

代替

Toast.makeText(CustomItemizedOverlay.this, allanswers[whichButton], Toast.LENGTH_SHORT).show(); 

只是context.getApplicationContext()private Context contextContext context;

+0

....也不起作用。我已經添加了我的其他一些代碼來實例化它。也許這將提供解決方案的線索? – Kel196 2012-03-20 19:32:29

+0

看到我的編輯,如果它不起作用,然後使用'Applcation'類創建上下文的全局對象 – 2012-03-20 19:40:09

+0

您的編輯仍然無法正常工作... – Kel196 2012-03-20 19:49:35