我有一个主要活动,启动模式设置为“singleTask”。当我将它带到前台并调用onNewIntent方法时,它会运行一个包含while循环的AsyncTask,该循环从文本文件中读取行。
这个循环的一部分,我的一个整数变量的值变为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);
}
}
答案 0 :(得分:0)
myVariable
。尝试在修改myVariable的每个位置添加日志记录。