0

我想從Xamarin.Android片段開始活動。這是片段從Fragment開始活動不起作用Xamarin

public class ChoirFragment : TourFragment 
{ 
    public override void OnCreate(Bundle savedInstanceState) 
    { 
     base.OnCreate(savedInstanceState); 

     // Create your fragment here 
    } 

    public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    { 
     var view = inflater.Inflate(page, container, false); 
     Button button = view.FindViewById<Button>(Resource.Id.Button); 
     button.Click += delegate 
     { 
      var intent = new Intent(Activity, typeof(StartActivity)); 
      StartActivity(intent); 
     }; 
     return base.OnCreateView(inflater, container, savedInstanceState); 
    } 
} 

當我點擊按鈕,點擊什麼也不做:(。

而且我不知道爲什麼調試器不會在OnCreateView停止。

如果您需要更多的信息不要猶豫,問我。在此先感謝您!

+0

什麼是類要啓動活動的名稱?如果它不是StartActivity,那就是你的問題。 – jgoldberger

+0

是的,名稱是StartActivity,我之前檢查過。昨天,我的代碼被vs(可能是Xamarin問題)「緩存」。我今天晚上再試一次。 – user3535054

回答

1

在您的代碼return base.OnCreateView(inflater, container, savedInstanceState);,我不知道爲什麼這將工作爲您加載您的片段視圖,在我身邊我應該返回view佈局。

不管怎樣,下面的演示工作對我來說:

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{ 
    var view = inflater.Inflate(Resource.Layout.Choir_Fragment, container, false); 
    Button button = view.FindViewById<Button>(Resource.Id.myButton); 
    button.Click += delegate 
    { 
     //var intent = new Intent(this.Context, typeof(StartActivity)); 
     var intent = new Intent(Activity, typeof(StartActivity)); 
     StartActivity(intent); 
    }; 
    return view; 
} 

這裏是我的項目的更多信息: enter image description here

如果需要此演示,請發表評論。

+0

這是正確的,但我的問題是vs2015運行舊代碼。也許Windows模擬器在這個 – user3535054

+0

@ user3535054有問題,好吧,有時當我遇到這樣的問題時,我創建一個新項目並再次測試這些代碼,無論如何,thx用於標記我的答案。 –

+0

這對我來說真的很煩人,Xamarin在調試時遇到了問題,此時您的部分解決方案是可行的。謝謝! – user3535054

0

嘗試改變return base.OnCreateView(inflater, container, savedInstanceState);return view