我通过菜单选项创建了一个辅助活动和一个新的片段。我打电话
LayoutInflater inf = getLayoutInflater()
inf.inflate(R.layout.fragment_reuse_view,this.findViewById(R.id.ReuseViewLayoutLinear))
它可以工作,但是它不会调用 java 文件中的任何事件。我假设这不是它的工作原理。我尝试过片段管理器,但不断收到 add(??,??) 不兼容的错误。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/ReuseViewLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ReuseView" >
//And this is In my New Activity
<LinearLayout
android:id="@+id/ReuseViewLayoutLinear"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
我尝试了使用充气器和片段管理器的各种方法。我只是希望向线性视图添加一个片段,并在将其添加到视图时调用该片段关联的 java。
回答我自己的问题,我不知道这是否是最佳实践,但我打电话给:
View rv = new ReuseView().onCreateView(getLayoutInflater(),this.findViewById(R.id.ReuseViewLayoutLinear),savedInstanceState);
((LinearLayout)this.findViewById(R.id.ReuseViewLayoutLinear)).addView(rv);