0
我創建了MainNavigationDrawerFragment
。主要活動中的片段返回null fragmentmanager.findviewbyid <>
然而,當我嘗試findviewbyId
,無論是drawerFragment
和drawerlayout
返回null
,當我嘗試建立的抽屜裏。
由於此活動是主發射器,因此通過fragmentmanager.findviewbyID()
,我預計它會啓動片段onCreateView
事件,以便我可以擴充該片段。 Howerver,它返回null。
任何幫助?
public class ProfileView1 : AppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Create your application here
SetContentView(Resource.Layout.ProfileView2);
// other code....
// Navigation Drawer
SetUpDrawer();
}
private void SetUpDrawer()
{
**MainNavigationDrawerFragment drawerFragment =
FragmentManager.FindFragmentById<MainNavigationDrawerFragment>
(Resource.Id.nav_drwr_fragment);
DrawerLayout drawerLayout = FindViewById<DrawerLayout>**(Resource.Id.drawer_layout);**
drawerFragment.SetUpDrawer(Resource.Id.nav_drwr_fragment, drawerLayout, toolBar);
}
/////////////////////////這是 佈局/////////// ////////////////////
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
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:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
layout="@layout/ToolBarOnlyLayout"
android:id="@+id/toolbarProfile" />
<include
layout="@layout/ProfileMainPageLayout"
android:id="@+id/profileMainPageCardView" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recentSearchRecyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
<fragment
android:id="@+id/nav_drwr_fragment"
android:name="UserProfile.Fragments.MainNavigationDrawerFragment"
android:layout_width="@dimen/nav_drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start"
app:layout="@layout/navigationdrawer_main_fragment"
tools:layout="@layout/navigationdrawer_main_fragment"/>
</android.support.v4.widget.DrawerLayout>
什麼MainNavigationDrawerFragment'的'聲明使用supportfragmentmanager?你有沒有機會使用'SupportFragment'基類?如果是的話,你必須使用'SupportFragmentManager'來訪問它。 – Krumelur
你也可以在這裏找到一個擴展'DrawerLayout'的例子:https://github.com/xamarin/monodroid-samples/blob/master/android5.0/Cheesesquare/MainActivity.cs *注意:*他們使用' Android.Support.V4.App.Fragment'獲得支持。 –
MainNavigationDrawerFragment從片段中繼承並擴展片段佈局。序才能到MainNavigationDrawerFragment我需要實例中mainactivity(prifileview1)片段 'MainNavigationDrawerFragment:Android.support.v4.Fragment {}' – coderocks