I am creating a chat room app with multiple chat rooms. Everything is working fine except for one thing I cannot figure out.
I display a list of preconfigured chat rooms and allow the user to choose which room he would like to enter. They all work fine except for one.
The app is sports themed, so there are chat rooms for football, baseball, basketball, hockey.. etc. You get the idea. Again, they all load fine except for the baseball option. It generates the following error..
Strangely enough, if you tap anywhere on the screen except for the error, the message goes away and the app continues on working normally. Tapping END APPLICATION closes the app.
Here is the part of the list picker for reference..
All the other choices work fine, only when the user selects 4 for baseball is when the error appears. I have tried using the SELECTION block instead of the INDEX block to check for the users choice and I still get the error so the issue is either with Baseball as a choice, or it doesn't like choice 4 for what ever reason. Everything is configured the same so I don't know why it only happens there...
Notice at the bottom of this screen shot that when the user selects baseball from the ListPicker, it does change the name in the CustomRoomTxtBox to "MLB Baseball" just fine ..
I made the change .. it is a lot cleaner, but it still generates the same error. So the error is/was not in the AfterPick routine .. maybe there is something in the room data itself? When a user picks a room, it loads the Elements for that room. If something was corrupt there would that generate the RunTime Error?
More strangeness .. if you choose any other room, and then switch to the MLB room it works fine with no error. The error only shows up if you choose the MLB room first. That at least tells me the issue is not with the Elements of the room data or the error would persist every time you enter the MLB room.
What ever it is, this is beginning to sound like a bug of some kind..
If I attached my .aia file here, is it available for anyone to download or just for a Power User?
Still doing my best to create a slimmed down version that will show what I am seeing, its proving to be a little tougher than I thought.
However, I did try a few things.. I changed the order of the rooms but that did not make a difference, so its not the fact that the MLB room was 4th on the list. It did not matter where on the list MLB sat.
I also deleted the data in the MLB room and created a new blank room, but no fix.. so it was not the data in the MLB chat room.
And it only happens if the MLB room is the first room chosen. Everything works fine otherwise.. and the error does not appear if its NOT the first room chosen.
Is it the name of the room? I do not know what else can be in common..
I just figured this out on my own too.. now I just need to figure out exactly what the issue is so I can fix it.
I do not know a lot about dictionaries.. I am needing to use "events" as a key. If I understand what you are saying, I am not using "events" as a key but as a value instead? Is my mistake in using the "list by walking key path" instead of a different block?
make sure your gameData is a list or Dictionary.
If it's a list, the first item of the key path should be a number,
if it's a dictionary, the first item of the key path should be a string.
OK, here is the part I do not understand I guess ..
gameData is a Jason list of lists .. and I am wanting to search this list by looking for the key named "events". From what you are telling me, this needs to be numeric instead of a string? Or, more logically, I should treat it as Dictionary instead of a list because the data "event" that I need is a string..
All of this aside, why does it work every other time and only errors with MLB?
Here is a sample of the MLB data.. . If there is more than one game scheduled on any given day, its the same format over and over for each game. I figured this should be enough for an example..
Basically I am pulling the home team name, the away team name, the scores for each, and the time on the game clock. Thats about it. The data is used for a real time scoreboard that is at the top of each chat room. Each sport (NFL, MLB, NBA, etc) has their own scoreboard.
If the data I uploaded does not work try this link:
but you initialized the gameData as an empty List, maybe you call the walking at key path function too early before you get the real data from internet?
Now I really do not understand. If I do not initialize the gameData as an empty list, how else am I supposed to?
And second, I call for the data before this routine is used .. are you saying that by the time I try to use the data, it has not completed its download to me?