2013-07-29 2 views
0

내 탭에는 3 개의 탭이 있습니다. 탭이 모두 정상적으로 작동합니다.캡처 탭 모노로 이벤트 클릭

이제 탭을 선택하면 몇 가지 추가 로직을 수행하고 싶습니다.

예 : 내 탭 중 하나에서 사용자가 다른 순서로 항목을 정렬하고 다른 탭을 업데이트 할 수있는 옵션을 제공합니다.

어떻게하면 TabHost의 클릭 이벤트를 얻을 수 있습니까?

탭 생성 (활동) 부분을 업데이트했습니다.

미리 감사드립니다.

[Activity(Label = "My Activity")] 
public class TabSearch : TabActivity 
{ 
    protected override void OnCreate(Bundle bundle) 
    { 
     try 
     { 
      base.OnCreate(bundle); 
      SetContentView(Resource.Layout.Search_WOTab); 

      /* ******************** Adding 2 Tab Controls and setting Activity classes to Tabs added ******************** */ 
      TabHost.TabSpec tspec; 
      Intent intent; 

      intent = new Intent(this, typeof(WOSearch)); 
      intent.AddFlags(ActivityFlags.NewTask); 

      tspec = TabHost.NewTabSpec("Search"); 
      tspec.SetIndicator("Search", Resources.GetDrawable(Resource.Drawable.Search)); 
      tspec.SetContent(intent); 
      TabHost.AddTab(tspec); 

      intent = new Intent(this, typeof(WOFilter)); 
      intent.AddFlags(ActivityFlags.NewTask); 
      tspec = TabHost.NewTabSpec("Filter"); 
      tspec.SetIndicator("Filter", Resources.GetDrawable(Resource.Drawable.Filter)); 
      tspec.SetContent(intent); 
      TabHost.AddTab(tspec);       
      TabHost.TabChanged += (sender, e) => 
      { 
       Toast.MakeText(this, TabHost.CurrentTab.ToString(), ToastLength.Short).Show(); 
      }; 
     } 
     catch (Exception ex) 
     { 
      Toast.MakeText(this, ex.InnerException.ToString(), ToastLength.Short); 
     } 
    } 

답변

0

TabHost.TabChanged 이벤트를 사용할 수 있습니다.

tabHost.TabChanged += (sender, e) => { 
       if (tabHost.CurrentTab == 0) { 
         // Do what you want. 
       } 
      }; 

추 신 : Xamarin Docs은 (는) 친구입니다.

편집 :

당신이 당신의 코드를 수정해야 ...

//TabHost.TabChanged += TabHost_TabChanged;    
      TabHost.TabChanged += (sender, e) => 
      { 
       Toast.MakeText(this, TabHost.CurrentTab.ToString(), ToastLength.Short).Show(); 
      }; 

TabHost.CurrentTab가 선택한 탭의 인덱스입니다.

+0

Tabhost에 대해 이미이 TabChanged 이벤트를 시도했습니다. 그러나 이벤트는 해고되지 않았습니다. – Kathir

+0

질문을 코드로 업데이트 할 수 있습니까? –

+0

샘플 코드 부분을 업데이트했습니다. 친절하게 확인하십시오. – Kathir