У меня есть основное действие с режимом запуска, установленным как "singleTask". Когда я выводю его на передний план и вызывается метод onNewIntent, он запускает AsyncTask, содержащий цикл while, который читает строки из текстового файла.
Частично в этом цикле значение одной из моих целочисленных переменных меняется на 0. Это не всегда происходит на одной и той же стадии цикла цикла, и цикл не имеет ничего общего с этой переменной, поэтому я не не понимаю, почему это происходит.
Вот изображение, которое может лучше объяснить проблему:
http://i.stack.imgur.com/ogLQh.jpg
РЕДАКТИРОВАТЬ: Код в соответствии с просьбой:
private class ReadFile extends AsyncTask<String, String, String> implements DialogInterface.OnCancelListener {
protected void onPreExecute() {
//Launch dialog
}
protected String doInBackground(String... path) {
try {
File f = new File(path[0]);
FileInputStream in = new FileInputStream(f);
InputStreamReader ir;
ir = new InputStreamReader(in);
BufferedReader br = new BufferedReader(ir);
StringBuffer sb = new StringBuffer();
String str = new String();
while ((str = br.readLine()) != null) {
Log.i("My Variable",Integer.toString(myVariable));
sb.append(str);
sb.append("\n\n");
}
br.close();
myTextFile = sb.toString();
} catch (IOException e) {
e.printStackTrace();
}
return "";
}
protected void onProgressUpdate(String... progress) {
//Nothing here
}
protected void onPostExecute(final String unusedString) {
//Dismiss dialog
}
protected void onCancelled() {
finish();
}
public void onCancel(DialogInterface dialog) {
cancel(true);
}
}