我必须用片段替换id,这是我的来源:
public void showEmojiDialog() {
final Dialog dialog = new Dialog(MainActivity.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setCancelable(false);
dialog.setContentView(R.layout.activity_check);
mEditEmojicon1 = (EmojiconEditText) dialog.findViewById(R.id.editEmojicon1);
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.editEmojicon1, EmojiconsFragment.newInstance(false))
.commit();
Button dialogButton = (Button) dialog.findViewById(R.id.send_btn);
dialogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
}
面临的问题:
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.editEmojicon1, EmojiconsFragment.newInstance(false))
.commit();
原因:java.lang.illegalargumentexception:找不到用于片段emojiconscfragment{1f7f3e0d}的id 0x7f0d007c(com.sample.testapplication:id/editemojicon1)的视图
将id
R.id.editEmojicon1
替换为EmojiconsFragment
我很困惑,但是由于我在对话框中,它没有得到它的视图。这是我想在对话框中显示的内容。
最佳答案
使用getSupportFragmentManager()
而不是getChildFragmentManager()
。
关于android - 如何在对话框中用cointainerviewId替换 fragment ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46574989/