Ich habe die MainNavigationDrawerFragment
erstellt.Fragment in Hauptaktivität zurückgibt null fragmentmanager.findviewbyid <>
Allerdings, wenn ich zu findviewbyId
versuchen, sowohl die drawerFragment
und drawerlayout
kehrt null
, wenn ich versuche, Schublade einzurichten.
Da diese Aktivität ist der Haupt-Launcher, durch die fragmentmanager.findviewbyID()
, würde ich erwarten, dass es das Fragment onCreateView
Ereignis auslösen, so dass ich das Fragment aufblasen kann. Allerdings kehrt es null zurück.
Irgendwelche Hilfe?
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);
}
///////////////////////// Dies ist Layout /////////// ////////////////////
<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>
support.app.fragment verwendet Was die Deklaration von 'MainNavigationDrawerFragment' ist? Verwenden Sie zufällig die Basisklasse 'SupportFragment'? Wenn ja, müssen Sie 'SupportFragmentManager' verwenden, um darauf zuzugreifen. – Krumelur
Hier finden Sie auch ein Beispiel für das Aufblasen eines 'DrawerLayout': https://github.com/xamarin/monodroid-samples/blob/master/android5.0/Cheesquare/MainActivity.cs * Hinweis: * Sie verwenden' Android.Support.V4.App.Fragment' für die Unterstützung. –
MainNavigationDrawerFragment erbt von Fragment und bläst das Fragmentlayout auf. Um zum MainNavigationDrawerFragment zu kommen, muss ich das Fragment in der Hauptaktivität (prifileview1) instanziieren 'MainNavigationDrawerFragment: Android.support.v4.Fragment {}' – coderocks