2017-01-25 10 views
0

誰かが私を殺してくれるのを助けてください!!!私はそれが更新されない何らかの理由で働くことを試みているtextviewを持っていますか?テキストは変更されず、タブは空白になります。Xamarinタブでデータが変更されないAndroid

注:エラーはありません。また、タブが正常に動作していて、テキストが更新されないことがあります。事前に

おかげ

Main.cs:

using System; 
using Android.App; 
using Android.Content; 
using Android.Runtime; 
using Android.Views; 
using Android.Widget; 
using Android.OS; 

namespace App1 
{ 
    [Activity(Label = "ActionBar Tabs Example")] 
    public class Main : Activity 
    { 
     protected override void OnCreate(Bundle bundle) 
     { 
      base.OnCreate(bundle); 

      // Set our view from the "main" layout resource 
      SetContentView(Resource.Layout.TabbedMenuPage); 

      //enable navigation mode to support tab layout 
      this.ActionBar.NavigationMode = ActionBarNavigationMode.Tabs; 

      //adding audio tab 
      AddTab("Audio", Resource.Drawable.Icon, new AudioFragment()); 

      //adding video tab 
      AddTab("Video", Resource.Drawable.Icon, new VideoFragment()); 
     } 

     /* 
     * This method is used to create and add dynamic tab view 
     * @Param, 
     * tabText: title to be displayed in tab 
     * iconResourceId: image/resource id 
     * fragment: fragment reference 
     * 
     */ 
     void AddTab(string tabText, int iconResourceId, Fragment fragment) 
     { 
      var tab = this.ActionBar.NewTab(); 
      tab.SetText(tabText); 
      tab.SetIcon(iconResourceId); 

      // must set event handler for replacing tabs tab 
      tab.TabSelected += delegate (object sender, ActionBar.TabEventArgs e) { 
       e.FragmentTransaction.Replace(Resource.Id.fragmentContainer, fragment); 
      }; 

      this.ActionBar.AddTab(tab); 
     } 


     class AudioFragment : Fragment 
     { 
      public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
      { 
       base.OnCreateView(inflater, container, savedInstanceState); 

       var view = inflater.Inflate(Resource.Layout.Tab, container, false); 
       var sampleTextView = view.FindViewById<TextView>(Resource.Id.textView); 
       sampleTextView.Text = "This is Audio Fragment Sample"; 
       return view; 
      } 
     } 

     class VideoFragment : Fragment 
     { 
      public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
      { 
       base.OnCreateView(inflater, container, savedInstanceState); 

       var view = inflater.Inflate(Resource.Layout.Tab, container, false); 
       var sampleTextView = view.FindViewById<TextView>(Resource.Id.textView); 
       sampleTextView.Text = "This is Video Fragment Sample"; 

       return view; 
      } 
     } 






    } 
} 

Tabaxml:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/textView" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" 
    android:textStyle="bold" 
    android:textSize="16dp" 
    android:background="#ffe3e1e1" 
    android:textColor="#ff393939" /> 

TabbedMenu.axml:

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
     <FrameLayout 
      android:id="@+id/fragmentContainer" 
      android:layout_width="match_parent" 
      android:layout_height="0dip" 
      /> 
    </LinearLayout> 

答えて

1

あなたの問題はここにある:

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
     <FrameLayout 
      android:id="@+id/fragmentContainer" 
      android:layout_width="match_parent" 
      android:layout_height="0dip" 
      /> 
    </LinearLayout> 

FrameLayoutの高さは0です!これは、その中のすべてのコンテンツが隠されていることを意味します。 layout_heightmatch_parentなどの別の値に設定します。

また、サイドノートfill_parentは廃止されました。 match_parentを使用してください。

+0

これが修正されました。どうもありがとうございます! – Jay

関連する問題