android - 在 Fragment 中的 onClick 方法中 toast

标签 android onclick android-fragments toast

我有以下 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/

相关文章:

Android:如何使用 Intent 从 Activity 调用 Fragment 类

java - 解析 json 后无法让 int 或 double 显示在 RecyclerView 上

android - 为什么 AndroidStudio 显示警告 "Namespace declaration is never used"?

javascript - 如何禁用 onclick 事件

javascript - 按钮没有反应

java - fragment 中的 RecyclerView - 没有连接适配器,跳过布局

java - 无法从 editText 获取文本

android - 通过 USB 端口发送数据

javascript - 知道事件的先前处理程序是否返回 false。 defaultPrevented 在 IE < 9 中?

Android:屏幕旋转时的 fragment 生命周期