IllegalArgumentException在对话框中的片段
我有一个片段的问题。 片段中有一个对话框,以及该对话框中的片段。 但是当我添加第二个片段时,有一个IllegalArgumentException : No view found for id ***** (fr.*****:id/container_list_collections) for fragment FragmentCollectionVignette
。IllegalArgumentException在对话框中的片段
FragmentHP.java
public class FragmentHP extends Fragment {
/** Bouton Ajouter à **/
private Button btAddTo;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, final Bundle savedInstanceState) {
View vueFragmentHP = inflater.inflate(R.layout.fragment_hp, container, false);
getFragmentManager().beginTransaction().replace(R.id.container_dernier_ajout, new FragmentDerniersAjoutsHP()).commit();
getFragmentManager().beginTransaction().replace(R.id.container_collections, new FragmentCollectionsHP()).commit();
getFragmentManager().beginTransaction().replace(R.id.container_ebooks, new FragmentEbooksHP()).commit();
getFragmentManager().beginTransaction().replace(R.id.container_games, new FragmentGamesHP()).commit();
getFragmentManager().beginTransaction().replace(R.id.container_software, new FragmentSoftwareHP()).commit();
getFragmentManager().beginTransaction().replace(R.id.container_digital_creation, new FragmentDigitalCreationHP()).commit();
btAddTo = (Button) vueFragmentHP.findViewById(R.id.bt_collections);
btAddTo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.dialog_add_to, null);
final Dialog dialog = new Dialog(getActivity());
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(view);
dialog.show();
dialog.setCanceledOnTouchOutside(false);
Button btValider = (Button) view.findViewById(R.id.bt_add_to);
getFragmentManager().beginTransaction().add(R.id.container_list_collections, new FragmentCollectionVignette()).commit();
}
});
return vueFragmentHP;
}
}
dialog_add_to.xml
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/tv_add_to"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/add_to"/>
<TextView
android:id="@+id/tv_choose_collection"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/choose_collection"
android:layout_below="@id/tv_add_to"/>
<FrameLayout
android:id="@+id/container_list_collections"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_choose_collection"/>
<Button
android:id="@+id/bt_add_to"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/valider"
android:layout_below="@id/container_list_collections"/>
</RelativeLayout>
问题是什么? (对不起,我很不好英语)
我认为这个问题是在这条线 getFragmentManager()调用BeginTransaction()加(R.id.container_list_collections,新FragmentCollectionVignette())提交()。;
将此更改为 this.getActivity()。getFragmentManager()。beginTransaction()。add(R.id.container_list_collections,new FragmentCollectionVignette())。commit();
有相同的错误... – MichelRobico 2014-11-03 15:10:50
你想渲染一个不同的片段按钮点击对话框。 – 2014-11-03 15:15:45
我想在一个对话框中插入一个片段。 – MichelRobico 2014-11-03 15:17:55
您是否尝试清洁您的项目?有时更改资源不会重新生成R文件。 – Marius 2014-11-03 15:23:57
是的,但我有相同的错误 – MichelRobico 2014-11-03 15:29:10