我是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();`
}
}