add Items to Sencha Nested List - iphone

Hi i got a Problem with adding new Items to a Sencha Nested List Component.
currently my code looks like this:
var newItem = nestedList.add({text:rowData.name});
nestedList.doLayout();
The Problem is the Items just wont show up no matter how often on on what i do call doLayout.
When in debug the nestedList Object, the items are correctly placed in the items array.
Greetings Nexum

try calling nestedlist.update()
thats what i call before dolayout on normal lists

nestedList.down("list").add({});
nestedList.down("list").refresh();

Related

How to make a List that contains another list, in flutter

I was trying to make an app in flutter, I now have an app that adds a new element into a list upon pressing a FAB. Kindly let me know how can I map another ListViewBuilder to each element. I am not sure if I am being clear enough, but I am trying to be clearer. I want an app that lets you create lists inside of lists, in flutter. So for each List element, there lies a corresponding list in which the contents of the list can be added. I am a beginner, and I am struggling to figure it out. plzzz, help me out..thanks in advance...
To create a list in a list you can use:
List<List<int>> numbers = new List<List<int>>();
And then you can add a new list to this by doing:
numbers.add([0,1,2]);
This adds the list [0,1,2] to the list called numbers.
From here you can access an element in this case the second element in the first list:
x = numbers[0][1]

Dismissive list view: When a widget in a list is dismissed, how do I remove a corresponding entry to an array

Currently, I have a list view that allows items within the list view to be dismissable. I want each item within that list view to correspond to an element within another list that contains text. And when that widget in the listview is dismissed, then the corresponding element in the other list also gets deleted. Does anyone know hot
What I suggest is that if there is any common thing in both list that are related to each other such as id or any else say text in your case ,After dismissible widget get triggered iterate via the second list just check if there's any common based on the 1st list item, and delete the item rebuild the state. Maybe adding some code might be better but so far this is the best way you can do. let me know if it work.

Using {{each}} block to iterate through an array backwards in DerbyJS

In a DerbyJS component, I have an array items, which I want to display in the view. I want to display the latest items of the array first, so I am looking for something like each-reverse:
{{each-reverse items as #item}}
<p>{{#item}}</p>
{{/each-reverse}}
. Of course, this snippet of code does not work but I hope it explains what I want to achieve. Is there a way to do this in DerbyJS?
Theoretically I could reverse the items array, but I do not want to do this, because sometimes I update this array by using .push. Using .unshift instead seems to be suboptimal.
I'm pretty sure there is no each-reverse method that you can use in the view. One way to achieve what you want is to first reverse sort the list in the controller.
If you use a Derby sort filter to reverse the items in the array, you could still use push to update the original array like you desire.
#originalList = #model.at 'originalList'
#reversedList = #model.ref 'reversedList', #model.sort 'originalList', (a, b) ->
return a - b
// add new items to the list
#originalList.push 4
// in the view
{{each reversedList as #item}}
<p>{{#item}}</p>
{{/each}}
Alternatively, you could try
// in the view
{{each originalList as #item, #index}}
{{originalList[originalList.length - #index]}}
{{/each}}

MvvmCross DataBinding To Modify Individual Item in Android ListView

I am trying to dynamically modify the items in a List (ObservableCollection) of a ViewModel and have those changes get updated in the View via MvvmCross bindings. My eventual goal is that when a user clicks on a list item, I will pop up a dialog asking them to edit that item. When the dialog is dimissed, the viewmodel will get updated (through an ICommand I assume) and that modified value will be now be in the list.
I haven't looked into dialogs yet, so for now I am just trying to toggle a boolean value each time a list item is clicked and have that value changed in the MvxListView. I have the MxvListView in my View bound to an ObservableCollection in my ViewModel and have an MvxCommand that is getting called when an item is selected. All this is working and I can see the value getting changed in the debugger, however, the new values are not being displayed in the MvxListView. So my question is: How do I get modified data in individual items in an ObservableCollection to bind to an MvxListView?
All of the examples I have seen online use ObservableCollection for dynamic binding but they only ever Add or Delete items. I haven't found any examples of modifying the items. If I change the code in my MvxCommand from modifying the data to adding or deleting an item, the list will get updated. So that tells me I'm close I think.
Rather than copy paste the code in here, I created a sample project on github here to look at:
https://github.com/smulrich/breaktimer
I appreciate the help.
You can simply replace
Breaks[index] = b;
with
Breaks[index] = new DailyBreak() { Reason = b.Reason, TimeOfDay = b.TimeOfDay, Enabled = b.Enabled };
or more reasonable, you should realize INotifyPropertyChanged for class DailyBreak
Diffrent among List, ObservationCollection and INotifyPropertyChanged, please refer to enter link description here

Unity/NGUI Updating List at runtime

I was wondering if someone could explain to me how I update a list at runtime in Unity?
For example I have a spell book, which has 3 spells in it, when I drag them to my action bar they get re-parented to it, what I'm trying to do is get a list of each child under the actionbar transform,
My problem is where to actually do something like this if I try something like below in the update, it adds whatever's there many times, which I can understand since update runs every frame..
list = actionbarui.GetComponent(UIGrid).GetChildList();
for(var i =0;i < list.size; i++)
{
buttonList.Add(list[i].gameObject);
}
If I add a callback to the buttons so that whenever they're drag and dropped it runs the above code and add thing's additively, as in, if you drag just one "spell" on it will loop through once, which is fine, but as soon as you add another it loops through three times, that is, it already has one it then adds the same one again PLUS the new button that's just been dragged on for a total of 3.
I've tried changing the code to
list = actionbarui.GetComponent(UIGrid).GetChildList();
for each(var child : Transform in list.GetEnumerator())
{
buttonList.Add(child.gameObject);
}
But this simple doesn't add anything, I am unsure how to go about keep the lists update as they are dragged off and on, could anyone please explain how this is achieved?
Please ignore the second "list" code, it's implementing "BetterLists" as apart of NGUI, so doesn't follow standard list methods.
Thank you for reading
If I add a callback to the buttons so that whenever they're drag and dropped it runs the above code and add thing's additively, as in, if you drag just one "spell" on it will loop through once, which is fine, but as soon as you add another it loops through three times, that is, it already has one it then adds the same one again PLUS the new button that's just been dragged on for a total of 3.
That is the expected result here. You are running through the list of children and adding them to your buttonlist, so first time there is only one item to add, then when you add another child there are two items to add, thus resulting in three items.
Either don't have a for loop and do:
buttonList.Add(the_GameObject_that_was_just_added_to_the_bar);
Or clear your buttonList before the for loop:
list = actionbarui.GetComponent(UIGrid).GetChildList();
buttonList.Clear();
for(var i =0;i < list.size; i++)
{
buttonList.Add(list[i].gameObject);
}
Alternatively to Dover8's response, you can first check if the buttonList already contains a reference to the child to be added. If it does, continue. Otherwise add the new child.
However, given the expense of doing the checks, and since you are already looping through the list already, I'd recommend that you follow his suggestion to clear the list before running the loop. It will probably give you the best performance out of these examples.
If there's a reason you can't or shouldn't clear the buttonList, and you still need to run through it, I'd recommend my suggestion. It really depends on which implementation works best for what you are trying to do. The point is that there are several ways to do this, and they have different performance profiles you need to consider.