Mückenfang-Hilfe

  • Antworten:43
Tom Com
  • Forum-Beiträge: 203

30.11.2013, 15:38:38 via Website

Ich habe von einem Buch aus ein Spiel entwickwelt (statt Mücken habe ich Fliegen genommen. Es rennt eine Zeit ab in der man eine bestimmte Anzahl an Fliegen schnappen muss. Drücke ich auf Start sehe ich das Gamelayout aber es passiert nichts. Hier der Code:
package at.tomcom.strangefly;

import java.util.Date;
import java.util.Random;

import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.os.Handler;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
public class GameActivity extends Activity implements OnClickListener,Runnable{
private static final long HOECHSTALTER_MS = 2000;
private static final int ZEITSCHEIBEN = 600;
private float massstab ;
private Random zufallsgenerator = new Random();
private int runde;
private int punkte;
private ViewGroup spielbereich;
private int gefangeneFly;
private boolean spielLaeuft;
private int zeit;
private int fly;
private Handler handler = new Handler();


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
massstab = getResources().getDisplayMetrics().density;
FrameLayout spielbereich = (FrameLayout)findViewById(R.id.spielbereich);
spielStarten();

}


private void spielStarten() {
runde = 0;
punkte = 0;
starteRunde();
}
private void starteRunde(){
runde = runde +1;
fly = runde * 10;
gefangeneFly = 0;
zeit = ZEITSCHEIBEN;
bildschirmAktualisieren();
handler.postDelayed(this,1000);
}
private boolean pruefeRundenende(){
if (zeit == 0) {
starteRunde();
return true;
}
return false;
}

private boolean pruefeSpielende(){
if( zeit == 0 && gefangeneFly < fly){
gameOver();
return true;
}
return false;
}

private void bildschirmAktualisieren(){
TextView tvPunkte = (TextView)findViewById(R.id.points);
tvPunkte.setText(Integer.toString(punkte));
TextView tvRunde = (TextView)findViewById(R.id.round);
tvRunde.setText(Integer.toString(runde));
TextView tvTreffer = (TextView)findViewById(R.id.hits);
tvTreffer.setText(Integer.toString(gefangeneFly));
TextView tvZeit = (TextView)findViewById(R.id.time);
tvZeit.setText(Integer.toString(zeit));
FrameLayout flTreffer = (FrameLayout)findViewById(R.id.bar_hits);
FrameLayout flZeit = (FrameLayout)findViewById(R.id.bar_time);
LayoutParams lpTreffer = flTreffer.getLayoutParams();
lpTreffer.width = Math.round( massstab * 300 *
Math.min( gefangeneFly,fly) / fly);
LayoutParams lpZeit = flZeit.getLayoutParams();
lpZeit.width = Math.round( massstab * zeit * 300 / ZEITSCHEIBEN);



}
private void zeitHerunterzaehlen(){
zeit = zeit -1;
float zufallszahl = zufallsgenerator.nextFloat();
double wahrscheinlichkeit = fly * 1.5 / ZEITSCHEIBEN;
if ( wahrscheinlichkeit > 1 ) {
eineFlyAnzeigen();
if ( zufallszahl < wahrscheinlichkeit -1){
eineFlyAnzeigen();
}
} else {
if ( zufallszahl < fly * 1.5 / ZEITSCHEIBEN) {
eineFlyAnzeigen();
}

}
flyVerschwinden();
bildschirmAktualisieren();
if(!pruefeSpielende()) {
if(!pruefeRundenende()){
handler.postDelayed(this, 1000);
}

}

}

private void eineFlyAnzeigen(){
int breite = spielbereich.getWidth();
int hoehe = spielbereich.getHeight();
int fly_breite = (int) Math.round(massstab*50);
int fly_hoehe = (int) Math.round(massstab*50);
int links = zufallsgenerator.nextInt( breite - fly_breite);
int oben = zufallsgenerator.nextInt( hoehe - fly_hoehe);
ImageView fly = new ImageView (this);
fly.setImageResource(R.drawable.ic_launcher);
FrameLayout.LayoutParams params =
new FrameLayout.LayoutParams(fly_breite,fly_hoehe);
params.leftMargin = links;
params.topMargin = oben;
params.gravity = Gravity.TOP + Gravity.LEFT;
spielbereich.addView(fly,params);
fly.setTag(R.id.geburtsdatum, new Date());
}
private void flyVerschwinden() {
int nummer = 0;
while(nummer < spielbereich.getChildCount() ) {
ImageView fly = (ImageView) spielbereich.getChildAt(nummer);
Date geburtsdatum = (Date) fly.getTag(R.id.geburtsdatum);
geburtsdatum.getTime();
long alter = (new Date()).getTime() - geburtsdatum.getTime();
if(alter > HOECHSTALTER_MS ) {
spielbereich.removeView(fly);
}else{
nummer++;

}
}



}
private void gameOver(){
Dialog dialog = new Dialog(this, android.R.style.
Theme_Translucent_NoTitleBar_Fullscreen);
dialog.setContentView(R.layout.gameover);
dialog.show();
}

@Override
public void run(){
zeitHerunterzaehlen();
}





@Override
public void onClick(View fly){
gefangeneFly++;
punkte +=10;
bildschirmAktualisieren();
spielbereich.removeView(fly);

}

}



Was habe ich falsch gemacht?

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

30.11.2013, 22:55:10 via App

Was ist der konkrete Fehler?
Benutz LocCat und deb debug mode um fehler zu finden..

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Tom Com
  • Forum-Beiträge: 203

01.12.2013, 09:17:25 via Website

Strange Fly [Android Application]
DalvikVM [localhost:8600]
Thread [<1> main] (Suspended (exception IllegalArgumentException))
<VM does not provide monitor information>
Random.nextInt(int) line: 185
GameActivity.eineFlyAnzeigen() line: 141
GameActivity.zeitHerunterzaehlen() line: 97
GameActivity.run() line: 185
Handler.handleCallback(Message) line: 725
Handler.dispatchMessage(Message) line: 92
Looper.loop() line: 175
ActivityThread.main(String[]) line: 5279
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 511
ZygoteInit$MethodAndArgsCaller.run() line: 1102
ZygoteInit.main(String[]) line: 869
NativeStart.main(String[]) line: not available [native method]
Thread [<10> Binder_2] (Running)
Thread [<9> Binder_1] (Running)
Thread [<11> Binder_3] (Running)
Was soll das heißen? (Das ist der Debug Mode) Wo ist der Fehler?

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

01.12.2013, 12:49:14 via Website

Selber schauen ist schon wieder zu viel Aufwand?

IllegalArgumentException
Random.nextInt(int)

Doku:
Exception
IllegalArgumentException--This is thrown if n is not positive.


Wo ist der Fehler?
Steht da doch:
GameActivity.eineFlyAnzeigen() line: 141

Antworten
Tom Com
  • Forum-Beiträge: 203

01.12.2013, 15:07:06 via Website

Was bedeutet:
NativeStart.main(String[]) line: not available [native method]

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
Fabian
  • Forum-Beiträge: 144

01.12.2013, 15:20:20 via Website

Hey TomCom,

erst einmal uninteressant, was die einzelnen Fehler bedeuten. Kümmere dich erstmal um den von "and dev" dir gezeigten Fehler.

Grüße Fabian!

Antworten
Tom Com
  • Forum-Beiträge: 203

01.12.2013, 15:25:32 via Website

Was ist eigentlich and dev?

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

01.12.2013, 15:28:52 via Website

Tom Com
Was ist eigentlich and dev?
Ein User, der Dir einen guten Tipp gegeben hat.

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

impjor

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

01.12.2013, 16:40:40 via Website

Was bedeutet:
NativeStart.main(String[]) line: not available [native method]

Das die Nummer der Zeile in der Methode main(), aus der der Aufruf erfolgt ist, nicht bekannt ist, weil es sich um eine native Methode handelt.
Inwiefern hilft dir das jetzt bei der Fehlersuche?

Antworten
Tom Com
  • Forum-Beiträge: 203

02.12.2013, 08:55:41 via Website

Eigentlich hilft mir gar nichts wirklich

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
Michele
  • Forum-Beiträge: 1.525

02.12.2013, 09:12:14 via Website

Tom Com
Eigentlich hilft mir gar nichts wirklich

Warum?

Weil lesen und verstehe schwer ist?
Der gute @and dev hat dir alles gesagt.
Einfacher geht es nicht mehr.

1GameActivity.eineFlyAnzeigen() line: 141

Da ist dein Fehler.
Also guckst du in deinem Code nach der Line 141.


LG

Antworten
Tom Com
  • Forum-Beiträge: 203

02.12.2013, 09:52:40 via Website

Ich habe den Code der Methode haargenau von dem der Vorlage übernommenen. Liegt es wirklich an dieser Methode?

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
impjor
  • Forum-Beiträge: 1.793

02.12.2013, 13:15:02 via App

Natürlich liegt es an genau dieser Zeile. Würde dein LogCat lügen, wäre es zum debuggen ja nicht geeignet.

LG

PS: Auf die Idee hier mal nachzufragen, ob wir einen Fehler in der Zeile sehen, bist du nicht gekommen?

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

02.12.2013, 13:20:19 via Website

Liegt es wirklich an dieser Methode?
Nein, natürlich nicht, wir haben alle nur Spaß gemacht (und dein Phone gehakt, um deine Logs zu fälschen), weil uns so langweilig ist...

Vielleicht solltest du dir besser ein anderes Hobby suchen.

Antworten
Tom Com
  • Forum-Beiträge: 203

03.12.2013, 17:19:51 via Website

Es tut mir leid. Aber wenn ich ein Logging einbaue zeigt er mir den Fehler in der onCreate() an
Ich habe den Code geändert. Hier ist er:
package at.tomcom.strangefly;

import java.util.Date;
import java.util.Random;


import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;

public class GameActivity extends Activity implements OnClickListener,Runnable{
private static final long HOECHSTALTER_MS = 2000;
private float massstab ;
private Random zufallsgenerator = new Random();
private int runde;
private int punkte;
private ViewGroup spielbereich;
private int gefangeneFly;
private int zeit;
private int fly;
private Handler handler = new Handler();
public static final String LOGTAG = "Game";

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(LOGTAG, "Service startet");
setContentView(R.layout.activity_game);
massstab = getResources().getDisplayMetrics().density;
spielbereich = (FrameLayout) findViewById(R.id.spielbereich);
Log.e("Game", "onCreate");
spielStarten();


}


private void spielStarten() {
runde = 0;
punkte = 0;
starteRunde();
}
private void starteRunde(){
runde = runde +1;
fly = runde * 10;
gefangeneFly = 0;
zeit = 60;
bildschirmAktualisieren();
handler.postDelayed(this,1000);
}

private boolean pruefeRundenende(){
if (zeit == 0){
starteRunde();
return true;
}
return false;
}

private boolean pruefeSpielende(){
if( zeit == 0 && gefangeneFly < fly){
gameOver();
return true;
}
return false;
}
private void gameOver(){
Dialog dialog = new Dialog(this, android.R.style.
Theme_Translucent_NoTitleBar_Fullscreen);
dialog.setContentView(R.layout.gameover);
dialog.show();
}


private void zeitHerunterzaehlen(){
zeit = zeit -1;
float zufallszahl = zufallsgenerator.nextFloat();
double wahrscheinlichkeit = fly * 1.5f / 60;
if ( wahrscheinlichkeit > 1 ) {
eineFlyAnzeigen();
if ( zufallszahl < wahrscheinlichkeit - 1){
eineFlyAnzeigen();
}
} else {
if ( zufallszahl < wahrscheinlichkeit) {
eineFlyAnzeigen();
}

}
flyVerschwinden();
bildschirmAktualisieren();
if(!pruefeSpielende()) {
if(!pruefeRundenende()){
handler.postDelayed(this, 1000);
}

}

}
private void bildschirmAktualisieren(){
TextView tvPunkte = (TextView)findViewById(R.id.points);
tvPunkte.setText(Integer.toString(punkte));
TextView tvRunde = (TextView)findViewById(R.id.round);
tvRunde.setText(Integer.toString(runde));
TextView tvTreffer = (TextView)findViewById(R.id.hits);
tvTreffer.setText(Integer.toString(gefangeneFly));
TextView tvZeit = (TextView)findViewById(R.id.time);
tvZeit.setText(Integer.toString(zeit));
FrameLayout flTreffer = (FrameLayout)findViewById(R.id.bar_hits);
LayoutParams lpTreffer = flTreffer.getLayoutParams();
lpTreffer.width = Math.round( massstab * 300 *
Math.min( gefangeneFly,fly) / fly);
FrameLayout flZeit = (FrameLayout)findViewById(R.id.bar_time);
LayoutParams lpZeit = flZeit.getLayoutParams();
lpZeit.width = Math.round( massstab * zeit * 300 / 60);



}

private void eineFlyAnzeigen(){
int breite = spielbereich.getWidth();
int hoehe = spielbereich.getHeight();
ImageView flyi = new ImageView(this);
flyi.setImageResource(R.drawable.ic_launcher);
flyi.setTag(R.id.geburtsdatum, new Date());
flyi.setOnClickListener(this);
int fly_breite = (int) Math.round(massstab*50);
int fly_hoehe = (int) Math.round(massstab*50);
int links = zufallsgenerator.nextInt( breite - fly_breite);
int oben = zufallsgenerator.nextInt( hoehe - fly_hoehe);
FrameLayout.LayoutParams params =
new FrameLayout.LayoutParams(fly_breite,fly_hoehe);
params.leftMargin = links;
params.topMargin = oben;
params.gravity = Gravity.TOP + Gravity.LEFT;
spielbereich.addView(flyi,params);
Log.e("Game", "Fly");

}
private void flyVerschwinden() {
int nummer = 0;
while(nummer < spielbereich.getChildCount() ) {
ImageView flyi = (ImageView) spielbereich.getChildAt(nummer);
Date geburtsdatum = (Date) flyi.getTag(R.id.geburtsdatum);
geburtsdatum.getTime();
long alter = (new Date()).getTime() - geburtsdatum.getTime();
if(alter > HOECHSTALTER_MS ) {
spielbereich.removeView(flyi);
}else{
nummer++;

}
}



}


@Override
public void onClick(View flyi){
gefangeneFly++;
punkte +=10;
bildschirmAktualisieren();
spielbereich.removeView(flyi);

}
public interface Runnable {
public void run();
}

@Override
public void run(){
zeitHerunterzaehlen();
}
@Override
public void onDestroy() {
Log.d(LOGTAG, "Service beendet");
super.onDestroy();
}

}



Kannst du noch mal einen Blick drüber werfen?
Ich wäre dir sehr dankbar

— geändert am 03.12.2013, 17:21:11

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

03.12.2013, 18:52:09 via Website

Setz den Code bitte mal in die vorgesehenen Code Tags

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
NoAh!
  • Forum-Beiträge: 1.445

03.12.2013, 19:41:22 via App

Ich übernehme das einfach mal für dich! :)
1package at.tomcom.strangefly;
2
3import java.util.Date;
4import java.util.Random;
5
6
7import android.app.Activity;
8import android.app.Dialog;
9import android.os.Bundle;
10import android.os.Handler;
11import android.util.Log;
12import android.view.Gravity;
13import android.view.View;
14import android.view.View.OnClickListener;
15import android.view.ViewGroup;
16import android.view.ViewGroup.LayoutParams;
17import android.widget.FrameLayout;
18import android.widget.ImageView;
19import android.widget.TextView;
20
21public class GameActivity extends Activity
22 implements OnClickListener,Runnable{
23 private static final long HOECHSTALTER_MS = 2000;
24 private float massstab ;
25 private Random zufallsgenerator = new Random();
26 private int runde;
27 private int punkte;
28 private ViewGroup spielbereich;
29 private int gefangeneFly;
30 private int zeit;
31 private int fly;
32 private Handler handler = new Handler();
33 public static final String LOGTAG = "Game";
34
35 @Override
36 public void onCreate(Bundle savedInstanceState) {
37 super.onCreate(savedInstanceState);
38 Log.d(LOGTAG, "Service startet");
39 setContentView(R.layout.activity_game);
40 massstab = getResources().getDisplayMetrics().density;
41 spielbereich = (FrameLayout) findViewById(R.id.spielbereich);
42 Log.e("Game", "onCreate");
43 spielStarten();
44
45
46 }
47
48
49 private void spielStarten() {
50 runde = 0;
51 punkte = 0;
52 starteRunde();
53 }
54 private void starteRunde(){
55 runde = runde +1;
56 fly = runde * 10;
57 gefangeneFly = 0;
58 zeit = 60;
59 bildschirmAktualisieren();
60 handler.postDelayed(this,1000);
61 }
62
63 private boolean pruefeRundenende(){
64 if (zeit == 0){
65 starteRunde();
66 return true;
67 }
68 return false;
69 }
70
71 private boolean pruefeSpielende(){
72 if( zeit == 0 && gefangeneFly < fly){
73 gameOver();
74 return true;
75 }
76 return false;
77 }
78 private void gameOver(){
79 Dialog dialog = new Dialog(this, android.R.style.
80 Theme_Translucent_NoTitleBar_Fullscreen);
81 dialog.setContentView(R.layout.gameover);
82 dialog.show();
83 }
84
85
86 private void zeitHerunterzaehlen(){
87 zeit = zeit -1;
88 float zufallszahl = zufallsgenerator.nextFloat();
89 double wahrscheinlichkeit = fly * 1.5f / 60;
90 if ( wahrscheinlichkeit > 1 ) {
91 eineFlyAnzeigen();
92 if ( zufallszahl < wahrscheinlichkeit - 1){
93 eineFlyAnzeigen();
94 }
95 } else {
96 if ( zufallszahl < wahrscheinlichkeit) {
97 eineFlyAnzeigen();
98 }
99
100 }
101 flyVerschwinden();
102 bildschirmAktualisieren();
103 if(!pruefeSpielende()) {
104 if(!pruefeRundenende()){
105 handler.postDelayed(this, 1000);
106 }
107
108 }
109
110 }
111 private void bildschirmAktualisieren(){
112 TextView tvPunkte = (TextView)findViewById(R.id.points);
113 tvPunkte.setText(Integer.toString(punkte));
114 TextView tvRunde = (TextView)findViewById(R.id.round);
115 tvRunde.setText(Integer.toString(runde));
116 TextView tvTreffer = (TextView)findViewById(R.id.hits);
117 tvTreffer.setText(Integer.toString(gefangeneFly));
118 TextView tvZeit = (TextView)findViewById(R.id.time);
119 tvZeit.setText(Integer.toString(zeit));
120 FrameLayout flTreffer = (FrameLayout)findViewById(R.id.bar_hits);
121 LayoutParams lpTreffer = flTreffer.getLayoutParams();
122 lpTreffer.width = Math.round( massstab * 300 *
123 Math.min( gefangeneFly,fly) / fly);
124 FrameLayout flZeit = (FrameLayout)findViewById(R.id.bar_time);
125 LayoutParams lpZeit = flZeit.getLayoutParams();
126 lpZeit.width = Math.round( massstab * zeit * 300 / 60);
127
128
129
130 }
131
132 private void eineFlyAnzeigen(){
133 int breite = spielbereich.getWidth();
134 int hoehe = spielbereich.getHeight();
135 ImageView flyi = new ImageView(this);
136 flyi.setImageResource(R.drawable.ic_launcher);
137 flyi.setTag(R.id.geburtsdatum, new Date());
138 flyi.setOnClickListener(this);
139 int fly_breite = (int) Math.round(massstab*50);
140 int fly_hoehe = (int) Math.round(massstab*50);
141 int links = zufallsgenerator.nextInt( breite - fly_breite);
142 int oben = zufallsgenerator.nextInt( hoehe - fly_hoehe);
143 FrameLayout.LayoutParams params =
144 new FrameLayout.LayoutParams(fly_breite,fly_hoehe);
145 params.leftMargin = links;
146 params.topMargin = oben;
147 params.gravity = Gravity.TOP + Gravity.LEFT;
148 spielbereich.addView(flyi,params);
149 Log.e("Game", "Fly");
150
151 }
152 private void flyVerschwinden() {
153 int nummer = 0;
154 while(nummer < spielbereich.getChildCount() ) {
155 ImageView flyi = (ImageView) spielbereich.getChildAt(nummer);
156 Date geburtsdatum = (Date) flyi.getTag(R.id.geburtsdatum);
157 geburtsdatum.getTime();
158 long alter = (new Date()).getTime() - geburtsdatum.getTime();
159 if(alter > HOECHSTALTER_MS ) {
160 spielbereich.removeView(flyi);
161 }else{
162 nummer++;
163
164 }
165 }
166
167
168
169 }
170
171
172 @Override
173 public void onClick(View flyi){
174 gefangeneFly++;
175 punkte +=10;
176 bildschirmAktualisieren();
177 spielbereich.removeView(flyi);
178
179 }
180 public interface Runnable {
181 public void run();
182 }
183
184 @Override
185 public void run(){
186 zeitHerunterzaehlen();
187 }
188 @Override
189 public void onDestroy() {
190 Log.d(LOGTAG, "Service beendet");
191 super.onDestroy();
192 }
193
194 }

— geändert am 03.12.2013, 19:42:52

Grüße NoAh!

Antworten
impjor
  • Forum-Beiträge: 1.793

03.12.2013, 20:29:21 via App

Du erwartest doch Hilfe von uns, oder? Dann mache es uns doch nicht unnötig schwer!
-Code-Tags benutzen
-Zeile/Funktion hier posten, in der der Fehler liegt.

Scheinbar, rufts du zufallsgenerator.nextInt() mit einer negativen Zahl auf, wie anddev meinte. Einfach mal den Debugger da halten lassen und breite usw. mal auslesen. Wird wohl irgendein Logikfehler sein.

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Tom Com
  • Forum-Beiträge: 203

04.12.2013, 08:55:51 via Website

import java.util.Date;
import java.util.Random;


import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;

public class GameActivity extends Activity implements OnClickListener,Runnable{
private static final long HOECHSTALTER_MS = 2000;
private float massstab ;
private Random zufallsgenerator = new Random();
private int runde;
private int punkte;
private ViewGroup spielbereich;
private int gefangeneFly;
private int zeit;
private int fly;
private Handler handler = new Handler();
public static final String LOGTAG = "Game";

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(LOGTAG, "Service startet");
setContentView(R.layout.activity_game);
massstab = getResources().getDisplayMetrics().density;
spielbereich = (FrameLayout) findViewById(R.id.spielbereich);
Log.e("Game", "onCreate");
spielStarten();


}


private void spielStarten() {
runde = 0;
punkte = 0;
starteRunde();
}
private void starteRunde(){
runde = runde +1;
fly = runde * 10;
gefangeneFly = 0;
zeit = 60;
bildschirmAktualisieren();
handler.postDelayed(this,1000);
}

private boolean pruefeRundenende(){
if (zeit == 0){
starteRunde();
return true;
}
return false;
}

private boolean pruefeSpielende(){
if( zeit == 0 && gefangeneFly < fly){
gameOver();
return true;
}
return false;
}
private void gameOver(){
Dialog dialog = new Dialog(this, android.R.style.
Theme_Translucent_NoTitleBar_Fullscreen);
dialog.setContentView(R.layout.gameover);
dialog.show();
}


private void zeitHerunterzaehlen(){
zeit = zeit -1;
float zufallszahl = zufallsgenerator.nextFloat();
double wahrscheinlichkeit = fly * 1.5f / 60;
if ( wahrscheinlichkeit > 1 ) {
eineFlyAnzeigen();
if ( zufallszahl < wahrscheinlichkeit - 1){
eineFlyAnzeigen();
}
} else {
if ( zufallszahl < wahrscheinlichkeit) {
eineFlyAnzeigen();
}

}
flyVerschwinden();
bildschirmAktualisieren();
if(!pruefeSpielende()) {
if(!pruefeRundenende()){
handler.postDelayed(this, 1000);
}

}

}
private void bildschirmAktualisieren(){
TextView tvPunkte = (TextView)findViewById(R.id.points);
tvPunkte.setText(Integer.toString(punkte));
TextView tvRunde = (TextView)findViewById(R.id.round);
tvRunde.setText(Integer.toString(runde));
TextView tvTreffer = (TextView)findViewById(R.id.hits);
tvTreffer.setText(Integer.toString(gefangeneFly));
TextView tvZeit = (TextView)findViewById(R.id.time);
tvZeit.setText(Integer.toString(zeit));
FrameLayout flTreffer = (FrameLayout)findViewById(R.id.bar_hits);
LayoutParams lpTreffer = flTreffer.getLayoutParams();
lpTreffer.width = Math.round( massstab * 300 *
Math.min( gefangeneFly,fly) / fly);
FrameLayout flZeit = (FrameLayout)findViewById(R.id.bar_time);
LayoutParams lpZeit = flZeit.getLayoutParams();
lpZeit.width = Math.round( massstab * zeit * 300 / 60);



}

private void eineFlyAnzeigen(){
int breite = spielbereich.getWidth();
int hoehe = spielbereich.getHeight();
ImageView flyi = new ImageView(this);
flyi.setImageResource(R.drawable.ic_launcher);
flyi.setTag(R.id.geburtsdatum, new Date());
flyi.setOnClickListener(this);
int fly_breite = (int) Math.round(massstab*50);
int fly_hoehe = (int) Math.round(massstab*50);
int links = zufallsgenerator.nextInt( breite - fly_breite);
int oben = zufallsgenerator.nextInt( hoehe - fly_hoehe);

FrameLayout.LayoutParams params =
new FrameLayout.LayoutParams(fly_breite,fly_hoehe);
params.leftMargin = links;
params.topMargin = oben;
params.gravity = Gravity.TOP + Gravity.LEFT;
spielbereich.addView(flyi,params);
Log.e("Game", "Fly");

}
private void flyVerschwinden() {
int nummer = 0;
while(nummer < spielbereich.getChildCount() ) {
ImageView flyi = (ImageView) spielbereich.getChildAt(nummer);
Date geburtsdatum = (Date) flyi.getTag(R.id.geburtsdatum);
geburtsdatum.getTime();
long alter = (new Date()).getTime() - geburtsdatum.getTime();
if(alter > HOECHSTALTER_MS ) {
spielbereich.removeView(flyi);
}else{
nummer++;

}
}



}


@Override
public void onClick(View flyi){
gefangeneFly++;
punkte +=10;
bildschirmAktualisieren();
spielbereich.removeView(flyi);

}
public interface Runnable {
public void run();
}

@Override
public void run(){
zeitHerunterzaehlen();
}
@Override
public void onDestroy() {
Log.d(LOGTAG, "Service beendet");
super.onDestroy();
}

}
Was Zufallszahl ist hab ich unterstrichen

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

04.12.2013, 14:36:53 via Website

Schön formatieren und in Code Tags setzen..

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Michele
  • Forum-Beiträge: 1.525

04.12.2013, 14:45:27 via Website

Pascal P.
Schön formatieren und in Code Tags setzen..

Etwa kann er nicht lesen oder er will es nicht.

Ihn wurden nun 100te Sachen gesagt und nichts davon hat er wahr genommen.


LG

— geändert am 04.12.2013, 14:53:14

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

04.12.2013, 14:55:03 via Website

Da hast du rech, wenn man ihm Helfen will und er nichts selber Tut ist er auch delber Schuld.

LG

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Tom Com
  • Forum-Beiträge: 203

04.12.2013, 15:23:57 via Website

Nur kurz was sind code-Tags?

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
NoAh!
  • Forum-Beiträge: 1.445

04.12.2013, 17:07:11 via App

vor den code kommt [code]

— geändert am 04.12.2013, 17:07:56

Grüße NoAh!

Antworten
NoAh!
  • Forum-Beiträge: 1.445

04.12.2013, 17:08:17 via App

und nach den code kommt [/code]

— geändert am 04.12.2013, 17:08:49

Grüße NoAh!

Antworten
Tom Com
  • Forum-Beiträge: 203

05.12.2013, 08:03:06 via Website

Die Randoms habe ich schön fett gemacht, ich hoffe es passt so.
package at.tomcom.strangefly;

import java.util.Date;
import java.util.Random;


import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;

public class GameActivity extends Activity implements OnClickListener,Runnable{
. private static final long HOECHSTALTER_MS = 2000;
private float massstab ;
. private Random zufallsgenerator = new Random();
private int runde;
private int punkte;
private ViewGroup spielbereich;
private int gefangeneFly;
private int zeit;
private int fly;
private Handler handler = new Handler();
public static final String LOGTAG = "Game";

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(LOGTAG, "Service startet");
setContentView(R.layout.activity_game);
massstab = getResources().getDisplayMetrics().density;
spielbereich = (FrameLayout) findViewById(R.id.spielbereich);
Log.e("Game", "onCreate");
spielStarten();


}


private void spielStarten() {
runde = 0;
punkte = 0;
starteRunde();
}
private void starteRunde(){
runde = runde +1;
fly = runde * 10;
gefangeneFly = 0;
zeit = 60;
bildschirmAktualisieren();
handler.postDelayed(this,1000);
}

private boolean pruefeRundenende(){
if (zeit == 0){
starteRunde();
return true;
}
return false;
}

private boolean pruefeSpielende(){
if( zeit == 0 && gefangeneFly < fly){
gameOver();
return true;
}
return false;
}
private void gameOver(){
Dialog dialog = new Dialog(this, android.R.style.
Theme_Translucent_NoTitleBar_Fullscreen);
dialog.setContentView(R.layout.gameover);
dialog.show();
}


private void zeitHerunterzaehlen(){
zeit = zeit -1;
zufallszahl = zufallsgenerator.nextFloat();
double wahrscheinlichkeit = fly * 1.5f / 60;
if ( wahrscheinlichkeit > 1 ) {
eineFlyAnzeigen();
if ( zufallszahl < wahrscheinlichkeit - 1){
eineFlyAnzeigen();
}
} else {
if ( zufallszahl < wahrscheinlichkeit) {

eineFlyAnzeigen();
}

}
flyVerschwinden();
bildschirmAktualisieren();
if(!pruefeSpielende()) {
if(!pruefeRundenende()){
handler.postDelayed(this, 1000);
}

}

}
private void bildschirmAktualisieren(){
TextView tvPunkte = (TextView)findViewById(R.id.points);
tvPunkte.setText(Integer.toString(punkte));
TextView tvRunde = (TextView)findViewById(R.id.round);
tvRunde.setText(Integer.toString(runde));
TextView tvTreffer = (TextView)findViewById(R.id.hits);
tvTreffer.setText(Integer.toString(gefangeneFly));
TextView tvZeit = (TextView)findViewById(R.id.time);
tvZeit.setText(Integer.toString(zeit));
FrameLayout flTreffer = (FrameLayout)findViewById(R.id.bar_hits);
LayoutParams lpTreffer = flTreffer.getLayoutParams();
lpTreffer.width = Math.round( massstab * 300 *
Math.min( gefangeneFly,fly) / fly);
FrameLayout flZeit = (FrameLayout)findViewById(R.id.bar_time);
LayoutParams lpZeit = flZeit.getLayoutParams();
lpZeit.width = Math.round( massstab * zeit * 300 / 60);



}

private void eineFlyAnzeigen(){
int breite = spielbereich.getWidth();
int hoehe = spielbereich.getHeight();
ImageView flyi = new ImageView(this);
flyi.setImageResource(R.drawable.ic_launcher);
flyi.setTag(R.id.geburtsdatum, new Date());
flyi.setOnClickListener(this);
int fly_breite = (int) Math.round(massstab*50);
int fly_hoehe = (int) Math.round(massstab*50);
int links = zufallsgenerator.nextInt( breite - fly_breite);
int oben = zufallsgenerator.nextInt( hoehe - fly_hoehe);

FrameLayout.LayoutParams params =
new FrameLayout.LayoutParams(fly_breite,fly_hoehe);
params.leftMargin = links;
params.topMargin = oben;
params.gravity = Gravity.TOP + Gravity.LEFT;
spielbereich.addView(flyi,params);
Log.e("Game", "Fly");

}
private void flyVerschwinden() {
int nummer = 0;
while(nummer < spielbereich.getChildCount() ) {
ImageView flyi = (ImageView) spielbereich.getChildAt(nummer);
Date geburtsdatum = (Date) flyi.getTag(R.id.geburtsdatum);
geburtsdatum.getTime();
long alter = (new Date()).getTime() - geburtsdatum.getTime();
if(alter > HOECHSTALTER_MS ) {
spielbereich.removeView(flyi);
}else{
nummer++;

}
}



}


@Override
public void onClick(View flyi){
gefangeneFly++;
punkte +=10;
bildschirmAktualisieren();
spielbereich.removeView(flyi);

}
public interface Runnable {
public void run();
}

@Override
public void run(){
zeitHerunterzaehlen();
}
@Override
public void onDestroy() {
Log.d(LOGTAG, "Service beendet");
super.onDestroy();
}

}

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
Self_Root
  • Forum-Beiträge: 1.089

05.12.2013, 08:13:35 via App

@ Tom Com
Du solltest vor deinen Code den du hier postest die Code tags benutzen damit es hier richtig angezeigt wird. Einfach so:

["Code"]dein Text["/Code"]
ohne Anführungszeichen!

MfG

— geändert am 05.12.2013, 08:14:24

IPhone XS Max
IPhone XR
IPad

Antworten
Tom Com
  • Forum-Beiträge: 203

05.12.2013, 08:20:01 via Website

Ah Sorry
1package at.tomcom.strangefly;
2
3import java.util.Date;
4import java.util.Random;
5
6
7import android.app.Activity;
8import android.app.Dialog;
9import android.os.Bundle;
10import android.os.Handler;
11import android.util.Log;
12import android.view.Gravity;
13import android.view.View;
14import android.view.View.OnClickListener;
15import android.view.ViewGroup;
16import android.view.ViewGroup.LayoutParams;
17import android.widget.FrameLayout;
18import android.widget.ImageView;
19import android.widget.TextView;
20
21public class GameActivity extends Activity implements OnClickListener,Runnable{
22 private static final long HOECHSTALTER_MS = 2000;
23 private float massstab ;
24private Random zufallsgenerator = new Random();
25 private int runde;
26 private int punkte;
27 private ViewGroup spielbereich;
28 private int gefangeneFly;
29 private int zeit;
30 private int fly;
31 private Handler handler = new Handler();
32 public static final String LOGTAG = "Game";
33
34 @Override
35 public void onCreate(Bundle savedInstanceState) {
36 super.onCreate(savedInstanceState);
37 Log.d(LOGTAG, "Service startet");
38 setContentView(R.layout.activity_game);
39 massstab = getResources().getDisplayMetrics().density;
40 spielbereich = (FrameLayout) findViewById(R.id.spielbereich);
41 Log.e("Game", "onCreate");
42 spielStarten();
43
44
45 }
46
47
48 private void spielStarten() {
49 runde = 0;
50 punkte = 0;
51 starteRunde();
52 }
53 private void starteRunde(){
54 runde = runde +1;
55 fly = runde * 10;
56 gefangeneFly = 0;
57 zeit = 60;
58 bildschirmAktualisieren();
59 handler.postDelayed(this,1000);
60 }
61
62 private boolean pruefeRundenende(){
63 if (zeit == 0){
64 starteRunde();
65 return true;
66 }
67 return false;
68 }
69
70 private boolean pruefeSpielende(){
71 if( zeit == 0 && gefangeneFly < fly){
72 gameOver();
73 return true;
74 }
75 return false;
76 }
77 private void gameOver(){
78 Dialog dialog = new Dialog(this, android.R.style.
79 Theme_Translucent_NoTitleBar_Fullscreen);
80 dialog.setContentView(R.layout.gameover);
81 dialog.show();
82 }
83
84
85 private void zeitHerunterzaehlen(){
86 zeit = zeit -1;
87 zufallszahl = zufallsgenerator.nextFloat();
88 double wahrscheinlichkeit = fly * 1.5f / 60;
89 if ( wahrscheinlichkeit > 1 ) {
90 eineFlyAnzeigen();
91 if ( zufallszahl < wahrscheinlichkeit - 1){
92 eineFlyAnzeigen();
93 }
94 } else {
95 if ( zufallszahl < wahrscheinlichkeit) {

96 eineFlyAnzeigen();
97 }
98
99 }
100 flyVerschwinden();
101 bildschirmAktualisieren();
102 if(!pruefeSpielende()) {
103 if(!pruefeRundenende()){
104 handler.postDelayed(this, 1000);
105 }
106
107 }
108
109 }
110 private void bildschirmAktualisieren(){
111 TextView tvPunkte = (TextView)findViewById(R.id.points);
112 tvPunkte.setText(Integer.toString(punkte));
113 TextView tvRunde = (TextView)findViewById(R.id.round);
114 tvRunde.setText(Integer.toString(runde));
115 TextView tvTreffer = (TextView)findViewById(R.id.hits);
116 tvTreffer.setText(Integer.toString(gefangeneFly));
117 TextView tvZeit = (TextView)findViewById(R.id.time);
118 tvZeit.setText(Integer.toString(zeit));
119 FrameLayout flTreffer = (FrameLayout)findViewById(R.id.bar_hits);
120 LayoutParams lpTreffer = flTreffer.getLayoutParams();
121 lpTreffer.width = Math.round( massstab * 300 *
122 Math.min( gefangeneFly,fly) / fly);
123 FrameLayout flZeit = (FrameLayout)findViewById(R.id.bar_time);
124 LayoutParams lpZeit = flZeit.getLayoutParams();
125 lpZeit.width = Math.round( massstab * zeit * 300 / 60);
126
127
128
129 }
130
131 private void eineFlyAnzeigen(){
132 int breite = spielbereich.getWidth();
133 int hoehe = spielbereich.getHeight();
134 ImageView flyi = new ImageView(this);
135 flyi.setImageResource(R.drawable.ic_launcher);
136 flyi.setTag(R.id.geburtsdatum, new Date());
137 flyi.setOnClickListener(this);
138 int fly_breite = (int) Math.round(massstab*50);
139 int fly_hoehe = (int) Math.round(massstab*50);
140 int links = zufallsgenerator.nextInt( breite - fly_breite);
141 int oben = zufallsgenerator.nextInt( hoehe - fly_hoehe);

142 FrameLayout.LayoutParams params =
143 new FrameLayout.LayoutParams(fly_breite,fly_hoehe);
144 params.leftMargin = links;
145 params.topMargin = oben;
146 params.gravity = Gravity.TOP + Gravity.LEFT;
147 spielbereich.addView(flyi,params);
148 Log.e("Game", "Fly");
149
150 }
151 private void flyVerschwinden() {
152 int nummer = 0;
153 while(nummer < spielbereich.getChildCount() ) {
154 ImageView flyi = (ImageView) spielbereich.getChildAt(nummer);
155 Date geburtsdatum = (Date) flyi.getTag(R.id.geburtsdatum);
156 geburtsdatum.getTime();
157 long alter = (new Date()).getTime() - geburtsdatum.getTime();
158 if(alter > HOECHSTALTER_MS ) {
159 spielbereich.removeView(flyi);
160 }else{
161 nummer++;
162
163 }
164 }
165
166
167
168 }
169
170
171 @Override
172 public void onClick(View flyi){
173 gefangeneFly++;
174 punkte +=10;
175 bildschirmAktualisieren();
176 spielbereich.removeView(flyi);
177
178 }
179 public interface Runnable {
180 public void run();
181 }
182
183 @Override
184 public void run(){
185 zeitHerunterzaehlen();
186 }
187 @Override
188 public void onDestroy() {
189 Log.d(LOGTAG, "Service beendet");
190 super.onDestroy();
191 }
192
193 }

— geändert am 05.12.2013, 11:52:32

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Tim F.

Antworten
Tom Com
  • Forum-Beiträge: 203

05.12.2013, 14:59:02 via Website

Aber eigentlich habe ich die breite gleich wie die Höhe berechnet und die passt
Oder?
kannst du nochmal über die Methode eineflyanzeigen einen Blick werfen?
lg

— geändert am 05.12.2013, 15:14:03

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
impjor
  • Forum-Beiträge: 1.793

05.12.2013, 15:16:52 via App

Wenn eine Exception bei der Zeile mit der breite fliegt, wird die höhe gar nicht mehr berechnet -> kein Fehler.
Es wäre bedeutend einfacher, wenn du einfach mal dir die Werte angugst!!! (Debugger, Log.d(), usw.)

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Tom Com
  • Forum-Beiträge: 203

05.12.2013, 15:33:21 via Website

Hab mal in einem anderen Thread nachgeguckt, da ist gestanden man sollte public interface Runnable weggeben. Kann das sein?

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
impjor
  • Forum-Beiträge: 1.793

05.12.2013, 15:37:58 via App

Sorry, aber wenn du die hier genannten Tipps nicht ausprobieren willst, sondern irgendetwas was irgendwo irgendjemand gepostet hat, was du selber aber anscheinend nicht verstehst, kann ich dir nicht weiterhelfen.
Setze doch bitte meinen letzten Beitrag einfach um, oder frage nach, was du daran nicht verstehst.

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Tom Com
  • Forum-Beiträge: 203

06.12.2013, 17:02:52 via Website

Ich habe jetzt debuggt
Bei links zeigt er 604 an
Aber es gibt gar nicht oben!

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
impjor
  • Forum-Beiträge: 1.793

06.12.2013, 17:08:32 via App

Wie meinst du, es gibt gar nicht oben?
Zeigt er wirklich bei "links" diesen Wert an? Oder bei "breite" bzw. "fly_breite".
Eine Vermutung: Vielleicht ist die View, in der alle ImageViews angezeigt werden nicht bei Breite/Höhe auf match_parent gestellt, sodass es nicht genug Platz für eine ImageView hat?
Der Fehler ist aber immernoch der Selbe (IllegalArgumentException bei eineFlyAnzeigen():141)?

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Tom Com
  • Forum-Beiträge: 203

06.12.2013, 17:24:26 via Website

Vielen großen Dank!!!!:grin:
Deine Theorie stimmte:grin:
Wie kann man es aber machen, dass beim zerquetschen einer fliege nicht der OnClickListener ertönt?
Nochmals Danke:grin:

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
impjor
  • Forum-Beiträge: 1.793

06.12.2013, 20:14:18 via App

Schön, dass ich dir helfen konnte... Hättest du aber auch sehen können (breite=0), hätte dir viel Zeit erspart. :)
Zu deiner neuen Frage: Einfach .setOnClickListener() weglassen!

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Tom Com
  • Forum-Beiträge: 203

07.12.2013, 09:02:44 via Website

Aber verschwindet dann auch die Fliege wenn man auf sie drückt?

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
impjor
  • Forum-Beiträge: 1.793

07.12.2013, 09:22:55 via App

Wenn das im OnClickListener gemacht wird natürlich nicht. Aber du hast doch gerade gesagt, dass dieser nicht ausgeführt werden soll, oder?

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Tom Com
  • Forum-Beiträge: 203

07.12.2013, 09:29:07 via Website

Ich meine die App soll den Ton nicht machen beim draufdrücken einer Fliege verschwinden sollen sie aber doch

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
impjor
  • Forum-Beiträge: 1.793

07.12.2013, 09:51:47 via App

Na, da es ja deine App ist, solltest du schon wissen, wie du es geschafft hast den Ton zu erzeugen.
Einfach den Code blind abschreiben bringt nämlich nichts. Du solltest anfangen, den Code Zeile für Zeile zu verstehen zu lernen, warum genau dies getan wurde.

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

San Blarnoi

Antworten
Tom Com
  • Forum-Beiträge: 203

07.12.2013, 11:15:37 via Website

Ok ja aber wie kann man es machen das mit einem Button eine Activity geschlossen und zu einer geöffneten Activity gewechselt wird(nicht neu öffnen)?

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten
impjor
  • Forum-Beiträge: 1.793

07.12.2013, 11:19:58 via App

Willst du deine Activity schließlich? Also so wie bei Druck des Zurückknopfes? Dann kannst du finish() benutzen.
Sonst startActivity(), welches eine bestimmte Activity in den Vordergrund "schiebt".
Siehe dazu http://developer.android.com/training/basics/firstapp/starting-activity.html

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Tom Com
  • Forum-Beiträge: 203

07.12.2013, 11:49:38 via Website

ich habe in zwei verschiedenen Layouts einen Button. leider wenn ich eine id ändere ändert eclipse die id des andern Buttons auch. wie kann ich das lösen

Liebe Grüße!!!!!!!!!!!!!!!!!!!!!!

Antworten