John Do
- Forum-Beiträge: 36
26.10.2011, 18:19:42 via Website
26.10.2011 18:19:42 via Website
Hallo liebe Mitglieder!
Ich habe ein lauffähige Activty mit einer inneren Klasse (extends View).
Ich habe diese View nun auslagern, da sie später als Vaterklasse dienen soll (Vererbung). Sie enthält noch kein abstract und es kann daher noch ein Objekt von ihr erzegt werden. Das erzeugte Objekt gamefielddefaultview befindet weiterhin in der Activity und steht in der View nicht zur Verfügung. Wie bekomme ich jetzt die Abmessungen des Objektes gamefielddefaultview ? Die Auslagerung der Methoden in die Activity geht nicht, da das Objekt noch nicht auf gebaut ist und Höhe = 0, daher auch die Auslagerung in die innerne Klasse. Eine neue innere Klasse macht wegen der Auslagerung keinen Sinn (meiner Meinung nach). Das Objekt mittels Konstruktor an sich selbst zu übergeben (Naja! ;) ).
Ich habe ein lauffähige Activty mit einer inneren Klasse (extends View).
1public class GameFieldActivity extends Activity {
2 LinearLayout linlay;
3 public GameFieldDefaultView gamefielddefaultview;
4
5 @Override
6 public void onCreate(Bundle savedInstanceState) {
7 super.onCreate(savedInstanceState);
8 linlay = new LinearLayout(this);
9 gamefielddefaultview = new GameFieldDefaultView(this);
10 linlay.addView(gamefielddefaultview);
11 setContentView(linlay);
12 }
13
14 private class GameDefaultView extends View {
15
16 protected int heightY; // weigth of the layout
17 protected int widthX; // height of the layout
18 public GameDefaultView(Context context) {
19 super(context);
20 }
21 public int setHeightY() {
22 return gamefielddefaultview.getHeight();
23 }
24 public int setWidthX() {
25 return gamefielddefaultview.getWidth();
26 }
2 LinearLayout linlay;
3 public GameFieldDefaultView gamefielddefaultview;
4
5 @Override
6 public void onCreate(Bundle savedInstanceState) {
7 super.onCreate(savedInstanceState);
8 linlay = new LinearLayout(this);
9 gamefielddefaultview = new GameFieldDefaultView(this);
10 linlay.addView(gamefielddefaultview);
11 setContentView(linlay);
12 }
13
14 private class GameDefaultView extends View {
15
16 protected int heightY; // weigth of the layout
17 protected int widthX; // height of the layout
18 public GameDefaultView(Context context) {
19 super(context);
20 }
21 public int setHeightY() {
22 return gamefielddefaultview.getHeight();
23 }
24 public int setWidthX() {
25 return gamefielddefaultview.getWidth();
26 }
Ich habe diese View nun auslagern, da sie später als Vaterklasse dienen soll (Vererbung). Sie enthält noch kein abstract und es kann daher noch ein Objekt von ihr erzegt werden. Das erzeugte Objekt gamefielddefaultview befindet weiterhin in der Activity und steht in der View nicht zur Verfügung. Wie bekomme ich jetzt die Abmessungen des Objektes gamefielddefaultview ? Die Auslagerung der Methoden in die Activity geht nicht, da das Objekt noch nicht auf gebaut ist und Höhe = 0, daher auch die Auslagerung in die innerne Klasse. Eine neue innere Klasse macht wegen der Auslagerung keinen Sinn (meiner Meinung nach). Das Objekt mittels Konstruktor an sich selbst zu übergeben (Naja! ;) ).
— geändert am 26.10.2011, 20:13:39
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.