0

タブホスト内のタブの背景色を変更しようとして失敗しました.Javaに非常に慣れていないため(一般的にはコーディングが得意です)、これに困惑しています。簡潔なヘルプは本当に感謝しています。

活動コード (その一部)

@SuppressWarnings("unused")
Resources res = getResources();     // Resource object to get Drawables    
TabHost tabHost = getTabHost();     // The activity TabHost   
TabHost.TabSpec spec;                   Intent intent;                      

// Create an Intent to launch an Activity for the tab (to be reused)    
intent = new Intent().setClass(this, jobActivity.class);    

// Initialise a TabSpec for each tab and add it to the TabHost    
spec = tabHost.newTabSpec("job").setIndicator(" Job Details ")                   

        .setContent(intent);    
tabHost.addTab(spec);  

および関連する XML ファイル

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/background_color">
<TabHost 
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"        
    android:padding="5dp"
    > 
       <HorizontalScrollView 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:fillViewport="true"
            android:scrollbars="none"
            >

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                />

     </HorizontalScrollView>
            <FrameLayout            
            android:id="@android:id/tabcontent"           
            android:layout_width="wrap_content"       
            android:layout_height="fill_parent" 
            android:padding="5dp"
           >  


         </FrameLayout>
     </LinearLayout>

</TabHost>
</LinearLayout>

誰かにとっては簡単な答えになるはずです。私は願います!

よろしくお願いします

** * ** * **編集 - 更新されましたが、まだ動作していないコード* ** * ** * ** * **** 以下の動作するコードを取得しました - しかし、メソッド setTabColors は機能しないようです (ログのメモが表示されないため、呼び出されることを確認してください)

 public class EPCTabNotesActivity extends TabActivity{


public static final String LOG_TAG = "dbtest";



 public void onCreate(Bundle savedInstanceState) {   
super.onCreate(savedInstanceState);    


setContentView(R.layout.maintab);    


@SuppressWarnings("unused")
Resources res = getResources();     // Resource object to get Drawables    
TabHost tabHost = getTabHost();     // The activity TabHost   

TabHost.TabSpec spec;               
Intent intent;                          



// Create an Intent to launch an Activity for the tab (to be reused)    
intent = new Intent().setClass(this, jobActivity.class);    

// Initialise a TabSpec for each tab and add it to the TabHost    
spec = tabHost.newTabSpec("job").setIndicator(" Job Details ")                   

        .setContent(intent);  

tabHost.addTab(spec);    

// Do the same for the other tabs    

// ..... More tabs

      setTabColors(tabHost);    // need to call setTabColors AFTER all the tabs are added to     thetab spec, else the For loop fails as its empty (therefore = 0)
tabHost.setCurrentTab(0);



}

private void setTabColors(TabHost tabHost) {
// TODO Auto-generated method stub
for(int i=0;i<tabHost.getTabWidget().getChildCount();i++)
{   
      tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.RED); //unselected tab

      Log.v(LOG_TAG,    "tab color " );
}
 }
 }
4

1 に答える 1