2011-08-27 66 views
1

我正在嘗試更改標籤佈局的活動之一中的文本字體。我正在使用自定義字體。但字體不起作用。對於我的其中一個類,當我切換到該選項卡時,我從eclipse調試器中得到一個錯誤,但似乎絕對沒有錯誤,我的代碼。這是失敗的在android標籤小部件中設置文本字體不工作?

public class YearThreeActivity extends Activity{ 

public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    this.setContentView(R.layout.yearthree); 

    /*without the next three lines the tab view works fine */ 

    TextView tv=(TextView)findViewById(R.id.yearthree_view);//<-- debugger says this assignment is null but which shouldn't be the case as the R class has that in the id subclass. 
    Typeface font = Typeface.createFromAsset(this.getAssets(), "fonts/Century_Gothic.ttf"); 
    tv.setTypeface(font); 
} 

}

然而這一活動已經幾乎完全一樣的事情,當我切換到該選項卡中它的工作原理

public class StatsActivity extends Activity{ 

public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    this.setContentView(R.layout.stats); 

    TextView tv=(TextView)findViewById(R.id.stats_view); 
    Typeface font = Typeface.createFromAsset(this.getAssets(), "fonts/Century_Gothic.ttf"); 
    tv.setTypeface(font); 

    } 
} 

我一直在代碼這幾個小時檢查。 XML清單文件,佈局文件,一切都與他們兩個相同,但第一個不工作...我在這裏作爲最後的手段...:<

回答

1

我修好了。它必須處理我在我的應用程序ID中給textViews的方式。他們恰逢

1

當我使用選項卡,我通常通過將android可見性設置爲消失來隱藏tabwidget標記。

按鈕並將其添加到充當標籤按鈕像

<?xml version="1.0" encoding="utf-8"?> 
<TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/tabhost" android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" 
     android:layout_height="fill_parent">  
     <FrameLayout android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" android:layout_height="0dip" 
      android:layout_weight="1.0"/> 
     <FrameLayout android:layout_width="fill_parent" 
      android:layout_height="wrap_content"> 
      <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:visibility="gone"/> 
      <LinearLayout android:layout_width="fill_parent" 
       android:layout_height="64dip"> 
       <Button android:layout_height="fill_parent" android:layout_width="0dip" 
        android:layout_weight="1.0" 
        android:background="@drawable/ic_tab_artists" 
        android:id="@+id/artist_id" android:onClick="tabHandler"/> 
       <Button android:layout_height="fill_parent" android:layout_width="0dip" 
        android:layout_weight="1.0" 
        android:background="@drawable/ic_tab_artists" 
        android:id="@+id/album_id" android:onClick="tabHandler"/> 
       <Button android:layout_height="fill_parent" android:layout_width="0dip"  
        android:layout_weight="1.0" 
        android:background="@drawable/ic_tab_artists" 
        android:id="@+id/song_id" android:onClick="tabHandler"/> 
      </LinearLayout> 
     </FrameLayout> 
    </LinearLayout> 
</TabHost> 

,我添加一個按鈕單擊處理

public void tabHandler(View target){ 
    artistButton.setSelected(false); 
    albumButton.setSelected(false); 
    songButton.setSelected(false); 
    if(target.getId() == R.id.artist_id){ 
     tabHost.setCurrentTab(0); 
     artistButton.setSelected(true); 
    } else if(target.getId() == R.id.album_id){ 
     tabHost.setCurrentTab(1); 
     albumButton.setSelected(true); 
    } else if(target.getId() == R.id.song_id){ 
     tabHost.setCurrentTab(2); 
     songButton.setSelected(true); 
    } 
} 

當我用這個方法,它給了我更多的自由風格的標籤鈕釦。

+0

感興趣的解決方案:) – draw

相關問題