Ich habe zwei Layouts table.xml (port) und table.xml (Land), die von dort einen Namen der Landschaft und andere für die Protrait.auf der Orientierungsänderung Taste touchlistener funktioniert nicht
Ich habe dieses Layout in einem anderen fragment_test.xml wie folgt aufgerufen Layout enthalten:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<include layout="@layout/table"/>
</RelativeLayout>
und das ist mein Fragment-Code des oben Layout fragment_test:
public class Fragment_test extends Fragment implements View.OnTouchListener{
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mytable= (LinearLayout) getActivity().findViewById(R.id.mytableid);
typeface = Typeface.createFromAsset(getActivity().getAssets(), "fonts/font.ttf");
for (int i = 0; i < table1.getChildCount(); i++) {
LinearLayout mychild = (LinearLayout) mytable.getChildAt(i);
for (int j = 0; j < mychild.getChildCount(); j++) {
Button b = (Button) child.getChildAt(j);
b.setTypeface(typeface);
b.setOnTouchListener(this);
}
}
}
}
//this is called when a button is touched
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
return true;
}
}
also im Grunde habe ich mehrere Tasten in der Tabelle Layout ich Schleife durch Settouchlistener für jede von ihnen. mein Problem ist also, wenn ich von Protrait zu Landscape umschalte oder umgekehrt der Touchlistener des Buttons nicht mehr funktioniert und auch die Schrift beim Layoutwechsel nicht mehr funktioniert.
> Edit: dies ist der Aktivitätscode
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("Home");
FragmentManager manager = getFragmentManager();
manager.beginTransaction().add(R.id.container, new Fragment_test(), "mytag").commit();
}
Beitrag Aktivitätscode –
i den Aktivitätscode hinzugefügt, aber ich glaube nicht, das ist im Zusammenhang, da ich den Code und das Fragment onActivityCreated gedebuggt wird normalerweise immer genannt, wenn ich die Orientierung – has19
geändert Wo ist 'table1' herkommen, und was ist die Anzahl der Kinder bei jeder Rotation? –