- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 LocationMapActivity,它使用 google map v2 来显示人员的位置(根据人员 ID 从数据库中获取位置)。我使用异步任务 从数据库中获取位置并在 map 上添加标记和路线。
我在两种情况下使用 LocationMapActivity(根据人员 ID 显示标记/路线):
点击 Show all people om map Button-LocationMapActivity 显示描述每个人的标记。如果单击标记,则通过再次向 LocationMapActivity 发送带有个人 ID 的 Intent 来显示特定人的路线。
单击幻灯片放映 map 按钮 - LocationMapActivity 首先显示描绘所有人的所有标记。然后在 10 秒后重新渲染 map 并显示每个人的路线(一个接一个,间隔 10 秒)。请引用我的代码接受的答案:How to place Multiple MapViews v1 inside a ViewFlipper .
PROBLEM : Everything works perfectly in scenario 1. But In scenario 2 the ArraryList latLngArrlist losses value suddenly!.I have debugged the code the array list is never set to null it randomly gets null. These arrayList are private but not local variables.
注意::在渲染下一个 map View 之前,我使用重置函数清除所有数组列表和非局部变量。
我的代码很长,所以我只在下面发布相关的代码:
LocationMapActivity
public class LocationMapActivity extends Activity implements OnClickListener,
OnMarkerClickListener {
private ArrayList<String> latLngCheckinTimeList = null;//
private ArrayList<String> addressList = null;//
private ArrayList<LatLng> latLngArrList = new ArrayList<LatLng>();//
private ArrayList<Long> checkinTimeArrList = new ArrayList<Long>();//
private String selectedFieldOfficerId;
private GoogleMap googleMap;
private List<List<HashMap<String, String>>> route = null;
private HashMap<Marker, String> markerHmap = new HashMap<Marker, String>();//
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map_activity_screen);
context = this;
//person ID according to which will be displayed
selectedFieldOfficerId = getIntent().getStringExtra(
AllConstants.FOIdKey);
latLngCheckinTimeList = new ArrayList<String>();
//my code
googleMap = ((MapFragment) getFragmentManager().findFragmentById(
R.id.mapView)).getMap();
mapTask = new MapTask(context, selectedFieldOfficerId, this);
mapTask.execute();// async task for url of route
}
googleMap.setOnMarkerClickListener(this);
}
}
MapTask 异步任务
@Override
protected Void doInBackground(Void... params) {
helper = new EmployeeHelper(getApplicationContext());
if (!fieldOfficerId.equals(AllConstants.ShowAllFOInMap)
&& !fieldOfficerId.equals(AllConstants.ShowAllFOInMapSlide)) {
// map for specific fo
showSpecificFoMap(fieldOfficerId);
} else if (fieldOfficerId.equals(AllConstants.ShowAllFOInMap)) {
// show all emp in map
showAllFoOnMap((AllConstants.ShowAllFOInMap));
} else if (fieldOfficerId.equals(AllConstants.ShowAllFOInMapSlide)) {
// show slide show
//PROBLEM HERE
Log.i("map", "in slide show if ");
ArrayList<String> foIdList = new ArrayList<String>();
Boolean condition = true;
while (condition && !isFinishActivity) {
// runs only once
Log.i("map", "in slide show if WHILE");
mapScreenshotsNo = 1;
try {
foIdList = showAllFoOnMap((AllConstants.ShowAllFOInMapSlide));//ARRAYLIST BECOMES NULL IN THIS FUNCTION
} catch (Exception e) {
e.printStackTrace();
}
runOnUiThread(new Runnable() {
public void run() {
if (progressDialog != null
&& progressDialog.isShowing()
&& !isFinishActivity)
progressDialog.dismiss();
}
});
try {
util.haveASleep(slideShowInterval);
} catch (Exception e) {
e.printStackTrace();
}
resetVariables();
mapScreenshotsNo++;
if (foIdList != null) {
try {
mapScreenshotsNo = showEachFOMap(foIdList,
mapScreenshotsNo);
} catch (Exception e) {
e.printStackTrace();
}
resetVariables();
}
condition = false;
}
if (mapTask != null)
mapTask.cancel(true);
// mapActivity.finish();
}
return null;
}
我知道数组列表正在失去值(value)。但我不知道如何将 ArrayList 类型保存在持久内存中,因为它不是原始类型。几天以来我一直在努力解决这个问题。
编辑:ArrayList 突然变为空值,任何设置模式。有时代码运行良好,有时它在数组列表中给出空指针。通常空指针是由ArrayList latLngArrList 引起的
求助!!!
谢谢。
最佳答案
尝试更改这些变量值初始化:
private ArrayList<String> latLngCheckinTimeList = null;
只是
private ArrayList<String> latLngCheckinTimeList;
并将变量创建移至onCreate:
private ArrayList<LatLng> latLngArrList = new ArrayList<LatLng>();//
创建时..
latLngArrList = new ArrayList<LatLng>();
关于android - ArrayList 突然变为 null,以前不是 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20519213/
无论我在做什么,我都会得到这个输出,但模拟器不会启动,新创建的模拟器也不会启动。我在 Windows 下: 警告:./android/base/files/IniFile.cpp:155:无法处理 .
我用 package.json NPM 脚本中像这样的变量: // package.json { "version": "0.12.1", "scripts": { "get-vers
几天前,Facebook 与我们网站的连接突然停止工作,代码没有任何更改??? Facebook 做了一些改变??? http://www.presbium.sk/vstup-pre-uchadzac
我习惯于 grunt build 任务成功完成,但由于我将我的项目编辑与其他开发人员同事合并,它突然失败并出现我以前从未见过的错误: grunt build Loading "imagemin.js"
我不明白这个。突然之间,我无法使用 iOS 9.0 中引入的 UIUserNotificationActionResponseTypedTextKey 标识符来访问通知中的文本输入消息。 Xcode
在我调用某个 Google 的 Youtube 库后,我的应用程序在其回调之一后突然变得完全没有响应。 无响应意味着无法点击所有 UI 组件。 在 iOS 中是否有这样的东西可以禁用整个屏幕完全不响应
bool queueIsFull(int rearPointer) { if(rearPointer==9) return 1; else return
我正在使用 PHP、Apache 和 MySQL 开发 Web 应用程序。在过去的一年中,此应用程序的响应时间一直不错。昨天,应用程序在 Firefox 上突然变得非常慢(完整的页面加载,包括 CSS
几个小时后,从控制台发出的 PHP 命令不再接受本地路径。例如在 laravel 中我总是给出命令 php artisan 但从今晚开始我收到了以下回复 Status: 404 Not Found C
我有一个 session WCF 服务,它生成一个进程并在调用 IsInitiating 操作时打开一个到该进程的命名管道。当调用 IsTerminating 操作时,服务会沿着管道发送一条消息,通知
类似的问题已经回答了好几次,我确实检查了其中的许多问题。这是不同的,请继续阅读。 我在 strings.xml 中定义了大量(大量)字符串,并带有多个格式参数。例如: %s and also %s 这
我有一个简单的消息机器人,它是根据 Messenger 平台指南设置的。在过去的几个月里,它一直运行良好,每天发送大约六条消息。我根本没有碰它,但是突然,发送消息,即调用 https://graph.
我正在使用 Unity 开发一款简单的 3D 手机游戏。我的目标是在没有垂直同步的情况下达到 30 FPS。我的游戏在所有 iOS 设备上运行良好,没有发热和节流,但有奇怪的 FPS 下降。 FPS
我们有一个自定义小部件,多年来一直运行良好,直到上周。 看来 Json 回调现在仅适用于播放列表,不适用于轨道。 播放列表 /**/jQuery31108094578850496614_1482167
-bash:/Users/winchenzo/git-completion.bash: 没有那个文件或目录 -bash:/Users/winchenzo/git-prompt.sh: 没有那个文件或目
编辑:重启解决了问题。我仍然想知道最初是什么原因造成的,因为这种情况以前发生过一次,但我不记得当时我做了什么来修复它(当时重新启动并没有解决问题)。 我 cd 到包含我要编辑的文件的文件夹,然后从命令
我刚刚注册是因为我突然遇到了一个问题,目前为止运行良好的代码我之前在这里找到了一些非常好的答案。希望你们能再次帮助我,这次甚至是投票;) $sql='SELECT projektKurz, proje
我制作了一个小程序,它在 tcp 套接字上监听和发送线路,并将接收到的信息附加到 JTextArea。我用它在 Minecraft 服务器上聊天,而无需打开游戏。 我昨晚工作得很好,但当我起床时却不工
感谢您在这里查看我的问题。 我正在使用 Glide 从 Firebase 存储中获取图像,基本上我是在使用 url 从存储中获取图像。第一天它工作正常但突然停止获取图像。我没有碰代码。我检查了很多答案
FCM 通知已到达所有 iOS 设备。但通知在大约 1 年前注册的某些设备上不起作用。 FCM token 和 APNs token 似乎没有变化。为什么没有到达通知? FCM token 是否必须过
我是一名优秀的程序员,十分优秀!