android - MyDialogFragment 类型未定义方法 getParentFragment()

标签 android android-fragments

我收到错误消息“MyDialogFragment 类型未定义方法 getParentFragment()”

我不确定为什么会收到此错误,就我而言,我已经正确设置了所有内容。

任何指导都会有所帮助,谢谢。

import android.app.DialogFragment;
import android.app.WallpaperManager;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;

class MyDialogFragment extends DialogFragment {
private Button ButtonOk;
private Button ButtonCancel;

public MyDialogFragment() {
    // Empty constructor required for DialogFragment
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.prompt, container);
    ButtonOk = (Button) view.findViewById(R.id.button1);
    ButtonCancel = (Button) view.findViewById(R.id.button2);
    getDialog().setTitle("Set Wallpaper?");

    ButtonOk.setOnClickListener(new View.OnClickListener() {



        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub



                    //Here

            ((ImageDetailFragment)(MyDialogFragment.this.getParentFragment())).onDialogOKPressed();
            dismiss();




        }

    });

    ButtonCancel.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            MyDialogFragment.this.dismiss();

        }
    });

    return view;

}
} 

从我的主要 fragment 导入:

import android.app.WallpaperManager;
import android.graphics.Bitmap;
import android.graphics.Point;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

最佳答案

好吧,您可以绕过创建一个方法来设置该 fragment 的父 fragment ,不知道为什么 getParentFragment 方法会失败。也许您正在使用支持库中的 Fragment 和主 android.app 库中的 DialogFragment,或者相反?

关于android - MyDialogFragment 类型未定义方法 getParentFragment(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19314962/

相关文章:

android - 使用带有 firebase 的 Item Menu,SignOut 在 Fragment 中不起作用

java - 如何在 fragment View 上调用 onClick 事件

java - 安卓(Java)-cr_BindingManager : Cannot call determinedVisibility() - never saw a connection for the pid:

android - 手机上缺少 ADB 安装的应用程序的启动器图标

java - 两个类来扩展一项 Activity ?

android - 在 Android 中为 xlarge 屏幕提供更大的图像

android - 在 Release模式下 flutter 构建 appbundle

android - ArrayAdapter 中的 IndexOutOfBoundsException

java - 当我在 fragment 2 时需要加载或运行 fragment 1 中的函数,更新表,然后转到 fragment 1

java - 我的 onResume 取决于 `onViewCreated` 。我怎样才能重新设计它?