【问题标题】:Open DialogFragment from a Fragment - Error with FragmentManager从片段打开 DialogFragment - FragmentManager 出错
【发布时间】:2015-10-13 17:27:04
【问题描述】:

嘿,我目前尝试将 DialogFragment 添加到 Fragment。当我点击 TextView 时它应该会打开:

片段:

public class FragmentOneRm extends Fragment {



 @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    myContext = (main_container)this.getActivity();

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { mTextViewMaxWeight.setOnLongClickListener(new View.OnLongClickListener() {
 //other code         
        @Override
        public boolean onLongClick(View v) {
            DialogWeightConverter dialog = DialogWeightConverter.newInstance();
       // Problem with getFragmentManager() 
            dialog.show(getFragmentManager(), "fragmentDialog");

        }
    });


    return view; 

出现以下错误:Cannot resolve methode show(android.app.FragmentManager, java.lang.string)

是的,我知道这个问题已经存在,但解决方案对我不起作用:/

我的 DialogFragment:

公共类 DialogWeightConverter 扩展 DialogFragment {

Context mContext;

public DialogWeightConverter() {
    mContext = getActivity();
}


@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    Dialog dialog = builder.create();

    return dialog;
}

public static DialogWeightConverter newInstance() {
    DialogWeightConverter f = new DialogWeightConverter();
    return f;
} }

如果您需要更多来自项目的代码,我会添加它

感谢您的帮助和问候

【问题讨论】:

  • 确保你在每个地方都使用一种类型的片段,否则会成为问题。使用支持片段,即 v4 片段或普通应用片段
  • 具体是什么问题?

标签: android android-fragments android-alertdialog android-dialogfragment dialogfragment


【解决方案1】:

您的DialogWeightConverter 扩展自android.support.v4.app.DialogFragment?试试getActivity().getSupportFragmentManager()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多