Mega Code Archive

 
Categories / Android / UI
 

Add listener to Toggle Button

package app.test; import android.app.Activity; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.os.Bundle; import android.widget.CompoundButton; import android.widget.ToggleButton; import android.widget.CompoundButton.OnCheckedChangeListener; public class Test extends Activity {     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.main);         ToggleButton toggle = (ToggleButton)findViewById(R.id.toggleButton);         if( getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED ) {             toggle.setChecked(true);         } else {             toggle.setChecked(false);         }         toggle.setOnCheckedChangeListener(listener);     }     OnCheckedChangeListener listener = new OnCheckedChangeListener() {         public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {             int current = getResources().getConfiguration().orientation;             if(isChecked) {                 switch(current) {                 case Configuration.ORIENTATION_LANDSCAPE:                     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);                     break;                 case Configuration.ORIENTATION_PORTRAIT:                     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);                     break;                 default:                     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);                 }             } else {                 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);             }         }     }; } //main.xml <?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">   <ToggleButton     android:id="@+id/toggleButton"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:textOff="Lock"     android:textOn="LOCKED"   /> </LinearLayout>