In der OnTextChanged () -Funktion habe ich 4 verschiedene Szenarien (wobei der Blutzucker einer Person entweder niedrig und abfallen kann, niedrig und steigt, hoch und fallen fallen oder hoch und Aufstand). Abhängig von der Zahl (von 1 bis 4) in der Box Zucker ist mein Ziel, eine Zeichenfolge an eine Funktion namens M4APLayer.play () in M4APLayer.java zu übergeben, um zu bestimmen, welchen Klang zu spielen ist (je nachdem, was Die Nummer von 1 bis 4 wird in das Feld Zucker eingegeben. Meine App stürzt jetzt mit dem Fehler < /p>
nicht mit dem gewünschten Swap -Verhalten < /p>
< /blockquote>
Was könnte das bedeuten? Hier ist meine MainActivity.java Code: < /p>
Code: Select all
package com.UnitedToolsForSouls.SoundAlert;
import android.app.*;
import android.os.*;
import java.util.*;
import android.widget.*;
import android.text.*;
import android.content.*;
public class MainActivity extends Activity {
private static EditText sugar;
private static TextView result;
private static TextView scenario1;
private static TextView scenario2;
private static TextView scenario3;
private static TextView scenario4;
public Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
context = this;
sugar = (EditText) findViewById(R.id.sugar);
result = (TextView) findViewById(R.id.result);
scenario1 = (EditText) findViewById(R.id.scenario1);
scenario2 = (EditText) findViewById(R.id.scenario2);
scenario3 = (EditText) findViewById(R.id.scenario3);
scenario4 = (EditText) findViewById(R.id.scenario4);
sugar.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// Called as text is being changed
String sug = sugar.getText().toString();
String s1 = scenario1.getText().toString();
String s2 = scenario2.getText().toString();
String s3 = scenario3.getText().toString();
String s4 = scenario4.getText().toString();
result.setText("???");
if (sug.length() == 1) {
if (sug.charAt(0) == '1') {
result.setText(s1);
}
if (sug.charAt(0) == '2') {
result.setText(s2);
}
if (sug.charAt(0) == '3') {
result.setText(s3);
}
if (sug.charAt(0) == '4') {
result.setText(s4);
}
M4APlayer.play(context, result.getText().toString());
}
}
@Override
public void beforeTextChanged(CharSequence p1, int p2, int p3, int p4) {
// TODO: Implement this method
}
@Override
public void afterTextChanged(Editable p1) {
// TODO: Implement this method
}
});
}
}
Code: Select all
package com.UnitedToolsForSouls.SoundAlert;
import android.content.Context;
import android.media.MediaPlayer;
public class M4APlayer {
public static void play(Context context, String file) {
/*PROBLEM*/
MediaPlayer mp = MediaPlayer.create(context, R.id.scenario1);
//mp.start();
//Stop the fplayer.
//Loop and play the file when nothing is playing.
}
}
Ich habe versucht, den Code in M4APlayer.play() auszukommentieren, bis meine App nicht mehr abstürzte, und stellte fest, dass es MediaPlayer.create() war, der dies verursachte. Auf dieses Szenario gibt es noch keine konkrete Antwort. Eine Antwort schlug vor, den Cache zu leeren und mein Telefon neu zu starten, aber das Auskommentieren dieser einen Zeile hat geholfen.