My example is adapted from one of the sample applications that come with one of the compatibility libraries. This is the layout file:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/layout" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="8dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:textAppearance="?android:attr/textAppearanceMedium" android:text="@string/fragment_menu_msg" /> <CheckBox android:id="@+id/menu1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:checked="true" android:text="@string/fragment1menu"> </CheckBox> <CheckBox android:id="@+id/menu2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:checked="true" android:text="@string/fragment2menu"> </CheckBox> </LinearLayout>
And here is the Java code:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_menu); ViewGroup layout = (ViewGroup) findViewById(R.id.layout); Button btn = new Button(getApplication()); btn.setId(1); btn.setText("Button 1"); layout.addView(btn); mCheckBox1 = (CheckBox) findViewById(R.id.menu1); mCheckBox1.setOnClickListener(mClickListener); } final OnClickListener mClickListener = new OnClickListener() { public void onClick(View v) { ViewGroup layout = (ViewGroup) findViewById(R.id.layout); Button btn = new Button(v.getContext()); btn.setId(2); btn.setText("Button 2"); layout.addView(btn); } };
The action begins, you turn off the first flag, one button (button 2) is added to the layout, you change the screen orientation, and button 2 (added in the onClickListener method) disappears.
Screenshots at Directupload.net
I read a lot about "Processing Runtime Changes" , but I still do not have a clear idea of ββhow to avoid pressing button 2 in the example on avob. Any help is appreciated.
source share