我是android開發中的新手。我試圖展現在吐司使用片段下面的代碼是我從其他網站獲得:無法顯示使用此片段的烤麪包
Toast.makeText(this, "count is " + count, Toast.LENGTH_SHORT).show();
但我在第一個參數得到一個問題。誰能幫忙?
我是android開發中的新手。我試圖展現在吐司使用片段下面的代碼是我從其他網站獲得:無法顯示使用此片段的烤麪包
Toast.makeText(this, "count is " + count, Toast.LENGTH_SHORT).show();
但我在第一個參數得到一個問題。誰能幫忙?
您可以使用getActivity(),它會返回一個片段相關聯的活動。 活動是一個上下文(因爲Activity擴展上下文)。
所以,你的代碼將是這樣的:
Toast.makeText(getActivity(), "count is " + count, Toast.LENGTH_SHORT).show();
使用getActivity()
Toast.makeText(getActivity(), "count is " + count, Toast.LENGTH_SHORT).show();
如果你看到Toast
類,你可以看到,所需要的第一個參數是上下文的方法。makeText
的簽名。
片段不是上下文的子類,因此使用的this
關鍵字傳遞Fragment對象。
您必須使用getActivity()
或getContext()
方法。
Toast.makeText(getActivity(), "count is " + count, Toast.LENGTH_SHORT).show();
如果你想知道其中的差別閱讀這篇文章What is the difference between this getcontext and getactivity
1)您可以使用getActivity()的而不是使用這關鍵字。該代碼將像下面,
Toast.makeText(getActivity(), "Count is" + count, Toast.LENGTH_SHORT).show();
改寫片段onAttach(上下文)方法和存儲上下文對於需要上下文的所有呼叫。
class MyFragment extends Fragment{
private Context _context;
@Override
protected void onAttach(Context context){
_context = context;
}
private void showToast(){
Toast.makeText(_context, "count is " + count, Toast.LENGTH_SHORT).show();`
}
}