2017-08-23 12 views
-2

これは、このコードは、指定されたactivity.Iを開くために働いていない私は.csコードxamarinの左ナビゲーションの項目をクリックして別のアクティビティを開く方法は?

public class MainActivity : AppCompatActivity 
{ 
    DrawerLayout drawerLayout; 
    NavigationView navigationView; 
    protected override void OnCreate(Bundle bundle) 
    { 
     base.OnCreate(bundle); 
     SetContentView(Resource.Layout.Main); 
     var toolbar = FindViewById<V7Toolbar>(Resource.Id.toolbar); 
     SetSupportActionBar(toolbar); 
     SupportActionBar.SetDisplayHomeAsUpEnabled(true); 
     SupportActionBar.SetDisplayShowTitleEnabled(false); 
     SupportActionBar.SetHomeButtonEnabled(true); 
     SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.menu3); 
     drawerLayout = FindViewById<DrawerLayout>(Resource.Id.drawer_layout); 
     navigationView = FindViewById<NavigationView>(Resource.Id.nav_view); 
    } 
    public override bool OnOptionsItemSelected(IMenuItem item) 
    { 
     switch (item.ItemId) 
     { 
      case Android.Resource.Id.Home: 
       drawerLayout.OpenDrawer(Android.Support.V4.View.GravityCompat.Start); 
       return true; 
      case Resource.Id.nav_home: 
       Intent i = new Intent(this, typeof(Homepage)); 
       StartActivity(i); 
       break; 
      case Resource.Id.nav_app: 
       StartActivity(typeof(ApplicationActivity)); 
       break; 
      case Resource.Id.nav_note: 
       StartActivity(typeof(NotificationActivity)); 
       break; 
     } 
     return base.OnOptionsItemSelected(item); 
    } 
} 

では、左側のナビゲーションのメニュー項目をクリックして別のアクティビティを開きたいです。私の人は私を助けることができますか?

+0

イメージとしてあなたのコードを投稿しないでください。直接投稿してください。 –

+0

大丈夫です。今すぐコードを見てください。あなたはこの質問に対する答えを得ることができますか?あなたが私に知らせてくれたら知っていれば。ありがとうございます – phani

答えて

0

あなたがActivity.OnOptionItemSelcetedを使用していないし、何のNavigationView自体にリスナーを設定しているように思えます。

何かがあなたのために働くはずです。 ボタンが引き続き機能するように、OnOptionItemSelectedを保管してください。次に、あなたのStartActivityコード

private void OnNavigationItemSelected(object sender, NavigationView.NavigationItemSelectedEventArgs args) 
{ 
    switch (args.MenuItem.ItemId) 
    { 
     case Resource.Id.nav_home: 
      Intent i = new Intent(this, typeof(Homepage)); 
      StartActivity(i); 
      break; 
     case Resource.Id.nav_app: 
      StartActivity(typeof(ApplicationActivity)); 
      break; 
     case Resource.Id.nav_note: 
      StartActivity(typeof(NotificationActivity)); 
      break; 
    } 
} 

を移動して、あなたのNavigationView上のイベントをフックアップ:

navigationView.NavigationItemSelected += OnNavigationItemSelected; 
+0

回答ありがとうございました。うまくいきます:) – phani

+0

こんにちは、どうやって連絡することができますか?私は初心者としてあなたからのより多くの助けをしたい。 – phani

-1

引き出しを開けるコードを試してください。

mDrawerLayout.openDrawer(Gravity.LEFT); 
+0

私はあなたを得ることができません。あなたは – phani

+0

を説明することができますあなたのメニューアイコンクリックイベントでこのコードを書いてください –

+0

これは彼が探しているものではありません。このコードは、引き出しを開くだけです。 – Cheesebaron

関連する問題