我是android开发的新手。我试图使用以下代码从片段中显示Toast:
Toast.makeText(this, "count is " + count, Toast.LENGTH_SHORT).show();
但是我在第一个参数中遇到了问题。有人可以帮忙吗?
答案 0 :(得分:2)
您可以使用getActivity(),它返回与片段关联的活动。 活动是一个上下文(因为活动扩展了上下文)。
所以你的代码将是这样的:
Toast.makeText(getActivity(), "count is " + count, Toast.LENGTH_SHORT).show();
答案 1 :(得分:1)
1)您可以使用 getActivity(),而不是使用此关键字。代码如下所示,
Toast.makeText(getActivity(), "Count is" + count, Toast.LENGTH_SHORT).show();
答案 2 :(得分:0)
使用return Array.from(arguments).join('§') + '§';
getActivity()
答案 3 :(得分:0)
如果您看到makeText
类的方法Toast
的签名,您可以看到所需的第一个参数是上下文。
片段不是Context的子类,因此使用this
关键字传递Fragment对象。
您必须使用getActivity()
或getContext()
方法。
Toast.makeText(getActivity(), "count is " + count, Toast.LENGTH_SHORT).show();
如果您想了解差异请阅读此帖What is the difference between this getcontext and getactivity
答案 4 :(得分: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();`
}
}