Hallo, ich habe gerade ein Problem in einer Activity in der Methode onQueryTextSubmit von einer Methode aus einer anderen Klasse einen Rückgabewert in eine Variable zu speichern und mit Log auszugeben, da eine Fehlermeldung kommt und die App stürzst ab. Deswegen würde ich mich über jeden Tipp freuen.
Fehlermeldung:
InputEventSender
Exception dispatching finished signal.
MessageQueue-JNI
Exception in MessageQueue callback: handleReceiveCallback
MessageQueue-JNI
java.lang.NullPointerException
MessageQueue-JNI
....MainActivity.onQueryTextSubmit(MainActivity.java:124)
........
........
Methode:
@Override
public boolean onQueryTextSubmit(final String query)
{
String isbn = "isbn";
CallClient callClient = new CallClient("http://ip/serverName/webServlet");
String splaten[] = { isbn };
String zellen[] = { query };
Table t = new Table(splaten);
t.addRowValues(zellen);
Table antwort = callClient.doCall("Test", t);
Log.d("Antwort", antwort.getColumnName(1));
return true;
}
Es ist so ohne die letzten Zeilen funktioniert alles wunderbar doCall Methode, nur bei diese letzten Zeilen:
Table antwort = callClient.doCall(„Test“, t);
Log.d(„Antwort“, antwort.getColumnName(1));
hackt es
doCall Methode
public Table doCall(String handlerName, final Table parameter)
{
final CSVConverter csvConverter = new CSVConverter();
final String parameterString = csvConverter.tableToString(parameter);
new Thread(new Runnable()
{
public void run()
{
try
{
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write(parameterString);
out.close();
BufferedReader in = new BufferedReader(new InputStreamReader(connection
.getInputStream()));
String returnString = "";
while ((returnString = in.readLine()) != null)
{
daten = returnString;
}
in.close();
Log.d("Buchdaten", daten);
antwort = csvConverter.stringToTable(daten);
Log.d("Spaltenname Nr.2 ", antwort.getColumnName(1));
}
catch (Exception e)
{
Log.d("Exception", e.toString());
}
}
}).start();
return antwort;
}
hier am ende der Methode wird Log ganz normal ausgegeben also kann das nicht an der Methode liegen
Gruß