Android fragments 从视图中获取片段实例
在我的活动中,我从一个包含按钮和片段的xml文件中展开布局。 activityView是我的视图对象Android fragments 从视图中获取片段实例,android-fragments,view,Android Fragments,View,在我的活动中,我从一个包含按钮和片段的xml文件中展开布局。 activityView是我的视图对象 LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); Intent intent = getIntent(); View activityView = layoutInflater.inflate(R.layout.my_pro
LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Intent intent = getIntent();
View activityView = layoutInflater.inflate(R.layout.my_profile, null,false);
我得到这样的按钮:
docButton=(按钮)activityView.findViewById(R.id.doc\u prof\u name)
如果我得到如下碎片,我的appforce将关闭:
FragmentManager fm=getFragmentManager();
最终片段f1=fm.findframentbyid(R.id.fragment1)
我不知道如何获取activityView中的片段实例,即my_profile.xml
<Button
android:id="@+id/btn1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="abc" />
<fragment android:name="com.example.myapp.MainActivity$FirstFragment"
android:id="@+id/fragment1" android:layout_weight="1"
android:layout_width="0px" android:layout_height="wrap_content"
/>
这个问题有点老了,但是可以找到一个知道它的一个视图的片段(甚至可以从片段中调用onClick处理程序)。但它需要在片段的onCreateView()中注册根视图
基本上,每个视图都有一个标记(可能为null)。我们将根视图的标记设置为使该视图膨胀的片段。然后,很容易搜索视图父视图并检索包含视图的片段(例如,单击按钮)。可能重复“否”,我不知道在此处使用视图对象的位置。FragmentManager fm=getFragmentManager();最终片段f1=fm.findframentbyid(R.id.fragment1);你能发布FirstFragment类的代码吗?FirstFragment是一个带有单个TextView的线性布局。不,我的意思是,要使用fragment,你必须对fragment类进行子类化,并在onCreateView方法中管理片段的视图。我想看看片段控制器的类。
09-29 15:08:18.319: E/AndroidRuntime(12901): ... 11 more
09-29 15:08:18.319: E/AndroidRuntime(12901): Caused by: java.lang.NullPointerException
09-29 15:08:18.319: E/AndroidRuntime(12901): at com.example.tdoapp.DocProfile$SecondFragment.onCreateView(DocProfile.java:130)
09-29 15:08:18.319: E/AndroidRuntime(12901): at android.app.Fragment.performCreateView(Fragment.java:1700)
09-29 15:08:18.319: E/AndroidRuntime(12901): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:866)
09-29 15:08:18.319: E/AndroidRuntime(12901): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1040)
09-29 15:08:18.319: E/AndroidRuntime(12901): at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1142)
09-29 15:08:18.319: E/AndroidRuntime(12901): at android.app.Activity.onCreateView(Activity.java:4835)
09-29 15:08:18.319: E/AndroidRuntime(12901): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
09-29 15:08:18.319: E/AndroidRuntime(12901): ... 19 more