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' 'の宣言は何support.app.fragment使用していますので、supportfragmentmanagerを使用しなければならなかったということでしょうか? 'SupportFragment'基本クラスを使用していますか?もしそうなら、 'SupportFragmentManager'を使ってそれにアクセスする必要があります。 – Krumelur
また、ここでは 'DrawerLayout'を膨らませる例を見つけることができます:https://github.com/xamarin/monodroid-samples/blob/master/android5.0/Cheesesquare/MainActivity.cs *注:*' Android.Support.V4.App.Fragment'をサポートします。 –
MainNavigationDrawerFragmentはフラグメントから継承し、フラグメントレイアウトを拡張します。 MainAnavigationDrawerFragmentに到達するために私はmainactivity(prifileview1)でフラグメントをインスタンス化する必要があります。 'MainNavigationDrawerFragment:Android.support.v4.Fragment {}' – coderocks