我爲我的Android應用程序創建了一個簡單的類,名爲coreTuts
。我用它綁到做我MainActivity.java
,activity_main.xml
,等等,像這樣:在另一個簡單的類中使用getApplicationContext(),而不是在MainActivity.java中
MainActivity.java
coreTuts tuts = new coreTuts();
\t
public void displayToast(View view)
{
\t tuts.sampleToast();
}
coreTuts.java
樣子:
coreTuts.java
public class coreTuts{
\t
\t //Do a toast notification
\t public void sampleToast()
\t {
\t \t
\t \t Toast toast = Toast.makeText(getActivity().getApplicationContext(),
\t \t "This is a message displayed in a Toast",
\t \t Toast.LENGTH_SHORT);
\t \t
\t \t toast.show();
\t }
}
我不能決定我是否應該使用getActivity().getApplicationContext()
或者只是getApplicationContext()
我Toast
因爲無論代碼不起作用。
事實上,這是我的問題:
- 我瞭解Android的上下文是有點像棲息地的動物。我是對的,如果我看看
getActivity()
和getApplicationContext()
那樣? - 我如何讓
getApplicationContext()
在另一個班級工作,以便我可以運行我的toast
,或者甚至允許?
謝謝!
你可以通過上下文實例作爲參數傳遞給sampleToast()方法(上下文上下文) – dora
我認爲這個問題有很多問題。他們都說你需要傳遞一個Context對象給這個類才能得到它。例如,sampleToast(Context context){... makeText(context,....)} – Surely
我已經查看了前三個答案,看起來我的應用程序的Context總是從MainActivity.java中獲取它的值。 –