jak zapisać stan za pomocą onSaveInstanceState i onRestoreInstanceState podczas zmiany orientacji

Przeczytałem prawie cały artykuł o onSaveInstanceState i onRestoreInstanceState w przepełnieniu stosu, ale nie mogę rozwiązać mojego problemu.
Mam widok tekstowy i przycisk w main.java i po kliknięciu wartości przycisku a (a jest zmienną typu int) zmienna będzie się zwiększać i wyświetlać w widoku tekstu, ale po obróceniu telefonu (zmiana orientacji), resetowanie widoku tekstu.

Nadpisuję onSaveInstanceState i onRestoreInstanceState, ale to nie działa. jeszcze jedno: mam specjalny plik layout-land.xml do widoku poziomego.

oto mój kod

<code> import android.app.Activity; 
 import android.graphics.Typeface; 
 import android.os.Bundle;
 import android.view.View;
 import android.widget.Button;
 import android.widget.TextView;

 public class main extends Activity {
     /** Called when the activity is first created. */   
   public int a = 0;     
   public String fonts="TAHOMA.TTF";

   TextView tv = (TextView) findViewById(R.id.salavat);      
   Button b = (Button) findViewById(R.id.showsalavat);

   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
       b.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View arg0) {
               a++;
               tv.setText(""+a);
            }
       });
   }
   @Override        
   protected void onSaveInstanceState(Bundle SavedInstanceState) {
      super.onSaveInstanceState(SavedInstanceState);            
      SavedInstanceState.putInt("salavat-count", a);
   }
   @Override    
   protected void onRestoreInstanceState(Bundle savedInstanceState) {
       super.onRestoreInstanceState(savedInstanceState);     
       a= savedInstanceState.getInt ("salavat-count");   
   } 
}
</code>

i tutaj mój main.xml

<code>    <TextView
        android:id="@+id/shoma"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:text="@string/shoma"
        android:textSize="20sp" />

    <Button
        android:id="@+id/showsalavat"
        android:layout_width="fill_parent"
        android:layout_height="150dp"
        android:text="+"
        android:textSize="100sp" />

    <TextView
        android:id="@+id/eltemas"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="55dp"
        android:text="@string/eltemas" />

    <TextView
        android:id="@+id/salavat"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="35sp" />

    <TextView
        android:id="@+id/ferestade"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="24dp"
        android:text="@string/salavat"
        android:textSize="20sp" />

</LinearLayout>
</code>

Naprawdę potrzebuję pomocy w tym zakresie. Doceniam twoją pomoc.

questionAnswers(5)

yourAnswerToTheQuestion