我有以下 fragment :
public class FragmentSocial extends Fragment implements ActionBar.TabListener, OnClickListener
{
private Fragment mFragment;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActivity().setContentView(R.layout.fragment_social);
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// relevant code...
}
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// relevant code...
}
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
public void onClick(View v) {
switch(v.getId())
{
case R.id.imgBtnFB:
Toast.makeText(this, "FB pressed", Toast.LENGTH_LONG).show();
break;
case R.id.imgBtnTwitter:
Toast.makeText(this, "Twitter pressed", Toast.LENGTH_LONG).show();
break;
}
}
我的 fragment_social
布局中有几个图像按钮。现在我只想制作一条 Toast 消息以查看按下了哪个按钮。但是,如果我将 this
用作上下文,则会收到此错误消息:
Toast 类型中的方法 makeText(Context, CharSequence, int) 不适用于参数 (FragmentSocial, String, int)
我尝试将 this
更改为 FragmentSocial.this
,更改为 FragmentSocial.this.getActivity()
,尝试创建 private Context mContext
并将其实例化为 mContext = (I tried various options here)
inside the onCreate method - 但没有任何效果。我没有收到错误消息,但也没有看到 Toast,或者出现其他错误。
那么如何在这里创建一个Toast呢?
谢谢!
最佳答案
使用:
getActivity().getBaseContext();
关于android - 在 Fragment 中的 onClick 方法中 toast ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15364315/