2012-03-16 7 views
0

Android:Androidタブのクリックでタブアイコンを変更するには

タブレットでタブアイコンを変更したいです。私は

http://developer.android.com/resources/tutorials/views/hello-tabwidget.html http://www.androidhive.info/2011/08/android-tab-layout-tutorial/

ようselecter xmlファイルを経由して、タブのアイコンを変更するが、私の原因で、これらすべてのことを動作しない理由をする方法を案内するチュートリアルが選択に非選択と非選択を選択しただけで最初のタブのアイコンを変更することが続いていますしかし

などの名前に従うように私のコードに問題がファイルを設定

私の描画可能なアイコンをたどるよう

私のコードがあるのplzのplz plzは私を助けてくださいでは、すべての他人のために動作しません

描画可能なフォルダの下becel_setting.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <!-- When selected, --> 
    <item android:drawable="@drawable/menu_promenera_selected" 
      android:state_selected="true" 
      android:state_pressed="false" /> 

    <!-- When not selected, --> 
    <item android:drawable="@drawable/menu_promenera" 
     /> 

    <!-- When selected, --> 
    <item android:drawable="@drawable/menu_varaframsteg_selected" 
      android:state_selected="true" 
      android:state_pressed="false" /> 
    <!-- When not selected, --> 
    <item android:drawable="@drawable/menu_varaframsteg" 
     /> 

    <!-- When selected, --> 
    <item android:drawable="@drawable/menu_minapromenader_selected" 
      android:state_selected="true" 
      android:state_pressed="false" /> 
    <!-- When not selected,--> 
    <item android:drawable="@drawable/menu_minapromenader" 
     /> 

    <!-- When selected, --> 
    <item android:drawable="@drawable/menu_information_selected" 
      android:state_selected="true" 
      android:state_pressed="false" /> 
    <!-- When not selected, --> 
    <item android:drawable="@drawable/menu_information" 
     /> 

</selector> 

public class BECEL extends TabActivity{ 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     try{ 
      setMenuTabs(); 
     }catch(Exception ex){ 
      String message = ex.getMessage(); 
     } 
    } 

    private void setMenuTabs() { 
     Resources res = getResources(); // Resource object to get Drawables 
     TabHost tabHost = getTabHost(); // The activity TabHost 

     TabHost.TabSpec spec; // Resusable TabSpec for each tab 
     Intent intent; // Reusable Intent for each tab 

     /*******************************************/ 

     intent = new Intent(this, BecelFacebookConnection.class); 

     spec = tabHost.newTabSpec("").setIndicator("", 
     res.getDrawable(R.drawable.becel_setting)).setContent(intent); /**** xml file name becel_setting ******/ 
     tabHost.addTab(spec);   



     intent = new Intent(this, OurProgress.class); 
     Drawable mySelector = getResources().getDrawable(R.drawable.menu_varaframsteg); 
     spec = tabHost.newTabSpec("").setIndicator("",mySelector).setContent(intent); 
     tabHost.addTab(spec); 



     intent = new Intent(this, MyWalks.class); 

     spec = tabHost.newTabSpec("").setIndicator("", 
     res.getDrawable(R.drawable.menu_minapromenader)).setContent(intent); 
     tabHost.addTab(spec); 



     intent = new Intent(this, WalkInformations.class); 

     spec = tabHost.newTabSpec("").setIndicator("", 
     res.getDrawable(R.drawable.menu_information)).setContent(intent); 
     tabHost.addTab(spec); 

     tabHost.setCurrentTab(0); 

    } 
} 

に従うように私のタブホストホストクラスがある私のコード

答えて

1

にあなたが提供する問題を必要としている場合、私を助けてくださいそれぞれの固有の文字列値newTabSpec( "")。例えば、次の例ではTAB1TAB2TAB3TAB4

public class BECEL extends TabActivity{ 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     try{ 
      setMenuTabs(); 
     }catch(Exception ex){ 
      String message = ex.getMessage(); 
     } 
    } 

    private void setMenuTabs() { 
     Resources res = getResources(); // Resource object to get Drawables 
     TabHost tabHost = getTabHost(); // The activity TabHost 

     TabHost.TabSpec spec; // Resusable TabSpec for each tab 
     Intent intent; // Reusable Intent for each tab 

     /*******************************************/ 

     intent = new Intent(this, BecelFacebookConnection.class); 

     spec = tabHost.newTabSpec("tab1").setIndicator("tab1", 
     res.getDrawable(R.drawable.becel_setting)).setContent(intent); /**** xml file name becel_setting ******/ 
     tabHost.addTab(spec);   



     intent = new Intent(this, OurProgress.class); 
     Drawable mySelector = getResources().getDrawable(R.drawable.menu_varaframsteg); 
     spec = tabHost.newTabSpec("tab2").setIndicator("tab2",mySelector).setContent(intent); 
     tabHost.addTab(spec); 



     intent = new Intent(this, MyWalks.class); 

     spec = tabHost.newTabSpec("tab3").setIndicator("tab3", 
     res.getDrawable(R.drawable.menu_minapromenader)).setContent(intent); 
     tabHost.addTab(spec); 



     intent = new Intent(this, WalkInformations.class); 

     spec = tabHost.newTabSpec("tab4").setIndicator("tab4", 
     res.getDrawable(R.drawable.menu_information)).setContent(intent); 
     tabHost.addTab(spec); 

     tabHost.setCurrentTab(0); 

    } 
} 
+0

(感謝waqasそれはまだeache newTabSpecのためのユニークなnamw前と同じ問題が動作していない) – ALI

+0

または多分してみてください'setIndicator'にも名前を追加します。私の更新された答え – waqaslam

+0

はまだユニークな値newTebspecとsetIndicatorの両方を追加しても動作しません。私は大きな問題を感じています。クリックしたときにdiffrenetアイコンのタブが2〜3つ以上変化するチュートリアルがある場合 – ALI

関連する問題