我收到错误消息“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/