我该如何展示这个内容:
我已经尝试很久使它工作,但是
编辑:
我感觉这都是由于support FragmentManager与android.app.FragmentManager的区别引起的,但我不知道如何解决,因为我正在使用来自support库的ViewPager...
getSupportFragmentManager/以及所有相关的getFragManager方法,如parent和child,总是返回来自support lib的Manager,而show方法想要的是核心库中的。
导入如下:
如果我只使用核心,则
?
public class TagsDialog extends DialogFragment
{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
builder.setView(inflater.inflate(R.layout.tags_dialog, null));
builder.setMessage("This is a message").setTitle("TAGS");
return builder.create();
}
}
在我的 ViewPager
中的 Fragment
中:
public class MyFragment extends Fragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
...
ImageView btnTags = (ImageView)view.findViewById(R.id.btnTags);
btnTags.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
DialogFragment dlg = new TagsDialog();
//this line doesn't compile
dlg.show(getSupportFragmentManager(), "tags");
}
});
}
}
我已经尝试很久使它工作,但是
getSupportFragmentManager
一直未被解决... 有什么想法吗?编辑:
我感觉这都是由于support FragmentManager与android.app.FragmentManager的区别引起的,但我不知道如何解决,因为我正在使用来自support库的ViewPager...
getSupportFragmentManager/以及所有相关的getFragManager方法,如parent和child,总是返回来自support lib的Manager,而show方法想要的是核心库中的。
导入如下:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
FragmentManager fm = getActivity().getSupportFragmentManager(); // returns from support lib
DialogFragment dlg = new TagsDialog();
dlg.show(fm, "tags"); // wants core...
如果我只使用核心,则
getSupportFragmentManager()
在getActivity()
上不存在...
getSupportFragmentManager
的那个。 - sprocket12