Android 如何从适配器类启动片段

Android 如何从适配器类启动片段,android,android-fragments,Android,Android Fragments,尝试使用以下代码从适配器类启动片段 public void startFragment(Context context, int position) { Activity activity = (Activity) context; android.app.FragmentManager manager = activity.getFragmentManager(); android.app.FragmentTransaction fragmentTransaction

尝试使用以下代码从适配器类启动片段

public void startFragment(Context context, int position) {
    Activity activity = (Activity) context;
    android.app.FragmentManager manager = activity.getFragmentManager();
    android.app.FragmentTransaction fragmentTransaction = manager.beginTransaction();
    DepartmentDetails departmentDetails = new DepartmentDetails();

    Bundle bundle = new Bundle();
    bundle.putString("id", departmentList.get(position).id);
    bundle.putSerializable("details", departmentList);
    departmentDetails.setArguments(bundle);

    fragmentTransaction.add(R.id.container, departmentDetails);
    fragmentTransaction.commit();
}
但在
fragmentTransaction.add(R.id.container,departmentDetails)上加上红色下划线

在执行时,它显示

Error:(90, 28) error: no suitable method found for add(int,DepartmentDetails)
method FragmentTransaction.add(Fragment,String) is not applicable
(argument mismatch; int cannot be converted to Fragment)
method FragmentTransaction.add(int,Fragment)
这是我正在使用的片段

public class DepartmentDetails extends Fragment implements CallBacks{

    ImageView ivProfile;
    TextView tvName, tvBasicInfo, tvDescription;
    String id, dean;
    Departments details;
    ArrayList<String> faculty, programs;

    RequestParams params;
    MyHttp myHttp;
    String url;

    public DepartmentDetails() {
        // Required empty public constructor
    }
public类DepartmentDetails扩展片段实现回调{
图像视图;
TextView tvName、tvBasicInfo、tvDescription;
字符串id,dean;
部门详情;
ArrayList学院、项目;
请求参数;
MyHttp-MyHttp;
字符串url;
公共部门详情(){
//必需的空公共构造函数
}

您可以使用下面的代码从适配器类打开片段

  Fragment fragment = new MyFragment();
  FragmentManager fm = context.getSupportFragmentManager();
  FragmentTransaction ft = fm.beginTransaction();
  ft.replace(R.id.content_frame, fragment);
  ft.commit();

添加您的DepartmentDetails片段类

import android.support.v4.app.Fragment ;
而不是

  import  android.app.Fragment

请尝试以下代码

  Fragment fragment = new MyFragment();
  FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
  FragmentTransaction ft = fm.beginTransaction();
  ft.replace(R.id.content_frame, fragment);
  ft.commit();

什么是DepartmentDetails片段或SupportFragment?其简单片段请更新答案并添加DepartmentDetails片段参数不匹配;DepartmentDetails无法转换为片段,我认为DepartmentDetails有问题,因为@Mohit Suthar说DepartmentDetails的邮编我添加了DepartmentDetails代码..请如果
getSupportFragmentManager
不来,现在可能需要查找,请将其作为
context.getSupportFragmentManager