Ich versuche, eine App wie "Heads-up" nur für mehr Bewegung zu machen!Logisches Problem während der Verwendung von Beschleunigungsmesser
, aber jetzt habe ich einige logische Problem bei der Verwendung von Beschleunigungsmesser in meiner App konfrontiert.
Ich möchte die App "korrigieren", wenn es kippt (Beschleunigungsmesser gibt -7 in dieser Position) und Toast "falsch", wenn die Neigung nach oben (Beschleunigungsmesser gibt 7 oder mehr in dieser Position).
Aber das Problem war, dass App mehrmals in jeder Position Toast. Also habe ich einen booleschen (isToasted) verwendet, um den App-Toast einmal in jeder dieser Positionen zu machen. Aber jetzt röstet es überhaupt nicht!
wo ist mein Problem und was soll ich tun?
dies ist ein Teil meines Codes:
Boolean isToasted = false;
@Override
public void onSensorChanged(SensorEvent event) {
int sensorValue = (int) event.values[2];
while (isToasted) {
switch (sensorValue) {
case 7: {
Toast.makeText(find_word2.this, "wrong", Toast.LENGTH_SHORT).show();
isToasted = true;
break;
}
case -7: {
Toast.makeText(find_word2.this, "correct", Toast.LENGTH_SHORT).show();
isToasted = true;
break;
}
}
}
if (sensorValue == 0) isToasted = false; //sensorValue = 0 means device is not tilted and it's in direct position.
}
Fehlerprotokolle oder Stack-Trace? – Shek
gibt es kein Fehlerprotokoll –
isToasted wird nie mit Ihrem aktuellen Code wahr sein. Es ist standardmäßig auf "false" gesetzt. – Compass