2016-03-06 45 views
0

我是android開發中的新手。我試圖展現在吐司使用片段下面的代碼是我從其他網站獲得:無法顯示使用此片段的烤麪包

Toast.makeText(this, "count is " + count, Toast.LENGTH_SHORT).show(); 

但我在第一個參數得到一個問題。誰能幫忙?

回答

2

您可以使用getActivity(),它會返回一個片段相關聯的活動。 活動是一個上下文(因爲Activity擴展上下文)。

所以,你的代碼將是這樣的:

Toast.makeText(getActivity(), "count is " + count, Toast.LENGTH_SHORT).show(); 
0

使用getActivity()

Toast.makeText(getActivity(), "count is " + count, Toast.LENGTH_SHORT).show(); 
0

如果你看到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

1)您可以使用getActivity()的而不是使用關鍵字。該代碼將像下面,

Toast.makeText(getActivity(), "Count is" + count, Toast.LENGTH_SHORT).show(); 
0

改寫片段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();` 
    }  
} 
相關問題