locked
Xamarin.Forms 1.4.0-pre2 Released RRS feed

  • Question

  • User352 posted

    1.4.0-pre2

    Bug Fixes

    • Header/Footer no longer crash Android when clicked
    • ListView no longer clears itself on Android when switching tabs/navigating
    • ViewCell containing Entry/Button can be focused again
    • Fix crash in WP ListView
    • Fix crash in WebView on iOS

    1.4.0-pre1

    Important Notes

    This is a feature release. As such unlike a patch version bump, the minor version bump indicates the inclusion of new APIs. There should be no breaking changes; however with all feature work, there is the potential for the inclusion of instability. Please help us beta test this release and let us know of any issues you run across.

    New API

    ScrollView

    It is now possible to detect the current scroll offset of the ScrollView. These are readonly bindable properties. csharp public double ScrollX { get; } public double ScrollY { get; }

    There are also methods which can be used to perform scrolling in the ScrollView. csharp public Task ScrollToAsync (double x, double y, bool animated); public Task ScrollToAsync (Element element, bool animated); The Element passed to ScrollToAsync must be a descendant of the ScrollView but does not have to be a direct child.

    Finally for those who do not wish to use bindings to observe scrolling, there is a Scrolled event that fires when ScrollX or ScrollY are updated. ```csharp public event EventHandler Scrolled;

    public class ScrolledEventArgs : EventArgs { public double ScrollX { get; } = 0; public double ScrollY { get; } = 0; } ``` Lastly ScrollView no longer uses any internal API to communicate between the frontend and the renderer. IScrollViewController, which is implemented explicitly on ScrollView can be used to trigger these and other events.

    ListView

    Separator Enhancements It is now possible to enable/disable separators for the ListView. This can be configured via the SeparatorVisibility property, which is bindable. ```csharp public SeparatorVisibility SeparatorVisibility { get; set; } = SeparatorVisibility.Default;

    public enum SeparatorVisibility { Default = 0, None = 1, } ``` Currently there is no option for Always as not all platforms have separators as part of their UX. We are considering adding this in the future, however it would be an invented paradigm for Windows platforms.

    It is now possible to apply a Color to the separator in ListView. csharp public Color SeparatorColor { get; set; } = Color.Default; The default value is Color.Default and will function unchanged from the 1.3.0 implementation if left untouched. RGBA values are supported. This function does nothing in SeparatorVisibility is set to None. Please note that setting either of these properties on Android after loading the ListView incurs a large performance penalty.

    Header/Footer ListView has also grown both a Header and a Footer. These are managed through a series of properties which enable everything from simple usage to more complex MVVM style usage. With Header/Footer the primary reason developers have in the past been forced to put ListViews inside of ScrollViews is finally dead! If you are still placing a ListView inside a ScrollView we strongly suggest you consider porting. csharp public object Header { get; set; } = null; public DataTemplate HeaderTemplate { get; set; } = null; public object Footer { get; set; } = null; public DataTemplate FooterTemplate { get; set; } = null; It is important to note that Header or Footer may be set directly to a View and the Template properties left null. This will cause the Header/Footer to be directly consumed by the renderer. All of these properties are bindable.

    Pull To Refresh PullToRefresh has been enabled on all current target platforms for ListView. To enable PullToRefresh in your app simple set IsPullToRefreshEnabled to true and make sure you respond to the correct events. It is important to note that this is the "easy" version of this API, in the future a more complete API with a standalone View may be added. ```csharp public event EventHandler Refreshing;

    public bool IsPullToRefreshEnabled { get; set; } = false; public bool IsRefreshing { get; set; } = false; public ICommand RefreshCommand { get; set; } = null;

    public void BeginRefresh (); public void EndRefresh (); ``` When the user triggers a PullToRefresh the Command will be invoked and the Refreshed event emitted. IsRefreshing will be set to true. The ICommand.CanExecute property is respected. The user must either call EndRefresh or assign IsRefreshing to false in order to end the refresh state.

    All control parameters for these features and more are exposed through the IListViewController interface, which is explicitly implemented on ListView. This will assist those wishing to modify how these features work in custom renderers.

    The Windows Phone implementation of PullToRefresh is a custom implementation as there is no platform idiom for doing this. In the future if the Windows platform decided to add a method of doing PullToRefresh by default, we intend to port.

    Forms.Application

    The Application class now exposes 4 new events for dealing with Modal navigation. csharp public event EventHandler<ModalPushedEventArgs> ModalPushed; public event EventHandler<ModalPoppedEventArgs> ModalPopped; public event EventHandler<ModalPushingEventArgs> ModalPushing; public event EventHandler<ModalPoppingEventArgs> ModalPopping; The ModalPoppingEventArgs contains a Cancel property which if set to true will cancel the Pop event and cause the application to enter the background (the operating system is informed of the unhandled back event).

    In order to implement this feature, all pre-Application methods of creating a Forms app have been updated to create a default Application which is set as the root pages Parent. It is possible this may cause issues in some edge cases, if you have any issues please file a bug report. It is suggested you update your app to the new LoadApplication initialization methodology if possible.

    Application now has a method of manually forcing the Properties dictionary to be saved to the IsolatedFileStore. This is to allow users to save their properties when it makes sense for them rather than risk them not getting serialized out due to a crash/being killed by the OS. csharp public Task SavePropertiesAsync ()

    OpenGLRenderer

    On Android OpenGLRenderer has been renamed OpenGLViewRenderer for consistency.

    Layout

    Layout now contains a ILayoutController class which has an IReadOnlyList<Element> which can be used to enumerate the children of a Layout regardless of the type of the Layout.

    Other Features

    • WebView now correctly supports javascript out of the box on Windows Phone 8.0

    Bug Fixes

    • Bug 27063 - Navigation not always returning to the proper page.
    • Bug 27225 - Secondary ToolbarItems cause app to hang during PushAsync
    • Bug 27437 - [iOS] Context menu error after deleting an item from a ListView using ContextActions
    • Bug 27096 - EntryCell has different fontsize on Android
    • Bug 21317 - Stepper control .IsEnabled doesn't work on Android
    • Bug 26338 - Unable to change page BackgroundImage from code
    • Bug 26588 - [WinPhone] Entry does not trigger numeric keyboard when password masking is enabled

    Other Fixes

    • Stepper default values now can be correctly inherited through a style.
    • x:Static now correctly reports position on error in XAML.
    • XAML now throws a more user friendly error on duplicate x:Name
    • XAML will now use implicit operators when assigning values to properties
    • XAML now supports baseclass indication for collection properties
    • XAML string literals are now supported with {}foo
    • iOS6 Modal pages should no longer sometimes have a 20px offset for no reason
    Tuesday, March 3, 2015 7:50 AM

All replies

  • User93655 posted

    Awesome updates for the listview coming ! I love PullToRefresh and had implemented @JamesMontemagno 's control. It will be easier with 1.5. I'm happy you bring SeparatorVisibility and SeparatorColor. It's cool to not have to do it by yourself.

    Thank you

    Tuesday, March 3, 2015 8:31 AM
  • User3944 posted

    Great update

    Tuesday, March 3, 2015 8:45 AM
  • User352 posted

    Known Issue: Sometimes there will be a crash with ListViews on WinPhone. This will be fixed in -pre2.

    Tuesday, March 3, 2015 8:54 AM
  • User65389 posted

    @TheRealJasonSmith:
    Sounds good.

    Questions: Your comment to 1.3.5.1:

    @FredyWenger to alleviate this issue we will not be bumping the Patch in the Major.Minor.Patch.Build versioning scheme we use anymore. The package version will be bumped, but the dll itself will not have its AssemblyVersion bumped. So 1.4.0.0 now on it will be 1.4.0.0 until 1.5.0.0. This should make things much easier on third party libs

    Is this now done (no more problems with WP-projects)?

    public Task SavePropertiesAsync ()

    The only change is, that we now can save the properties explicit - the rest remains as it is?

    Tuesday, March 3, 2015 8:55 AM
  • User352 posted

    @FredyWenger correct, this will not get a bump for 1.4.1 for example.

    As for SavePropertiesAsync, yes we cannot force Android to wait long enough to serialize out the data, which is why on some devices it is failing. Android is killing the app before the saving process completes. We recommend Saving the properties store every so often.

    Tuesday, March 3, 2015 8:57 AM
  • User65389 posted

    @TheRealJasonSmith:
    Thanks for feedback - I will check it out. And... the WP-problems (e.g. remove detail-icons when master-page is showed, performance) are addressed later in the sooooooon-release? :wink:

    Tuesday, March 3, 2015 9:01 AM
  • User102917 posted

    Thanks, you are the best! Any ETA for a pinch-to-zoom implementation without custom renderers, or an option to scroll the scrollviews both horizontally and vertically at the same time?

    Tuesday, March 3, 2015 9:06 AM
  • User60257 posted

    Some really useful developments here. Means I can start deleting stacks of code from my core code base!

    Tuesday, March 3, 2015 9:22 AM
  • User51906 posted

    Pull To Refresh

    This is great. :smile:

    Tuesday, March 3, 2015 9:48 AM
  • User90084 posted

    Just did a quick test with the Header/Footer here. Not sure if I'm just using it improperly, but I get a crash with the Nexus 4S (Jelly Bean) emulator, when clicking the Header/Footer rows:

    https://gist.github.com/TheTekton/4c8ed53365a614ca2113

    Tuesday, March 3, 2015 9:57 AM
  • User60143 posted

    Those new APIs are great ! :smile:

    Did the Header in ListView must have the same height than rows ?

    (What I got: http://i.imgur.com/bd3w1Ws.png, what I expected: http://i.imgur.com/FAchmnl.png)

    Tuesday, March 3, 2015 10:06 AM
  • User56293 posted

    @TheRealJasonSmith There seems to be an issue on Android (not tested on other platforms ) with ListViews disappearing/clearing on a TabbedPage when switching between Tabs.

    Tuesday, March 3, 2015 11:57 AM
  • User92610 posted

    If I've implemented two listview natively through custom renderers on iOS and android can I leverage any of the new pull to refresh stuff? I'm guessing not.

    Tuesday, March 3, 2015 3:46 PM
  • User6349 posted

    Looks and sounds really great! Good to see the improvements.

    My only question/concern is about IsPullToRefreshEnabled ... does it make more sense to make this a Behavior? Or is that part of the post-"easy" API?

    And also... more Async Zombies ... grumble grumble. Although it does appear limited. Maybe making a cool Xamarin Game/App where you get to kill all the Async Zombies from your code will make me feel better. :) :tongue: :sunglasses:

    Tuesday, March 3, 2015 5:52 PM
  • User98240 posted

    I dont see the issue with async methods?

    Tuesday, March 3, 2015 9:11 PM
  • User12403 posted

    XLabs 2.0.5541-pre1 will be in NuGet shortly.

    Tuesday, March 3, 2015 9:56 PM
  • User2148 posted

    @SKall An OOT question... Have XLabs a tabbedpage where I can change the font in tab text (Android)?

    Tuesday, March 3, 2015 10:06 PM
  • User12403 posted

    @AlessandroCaliaro no, not to my knowledge there isn't.

    Tuesday, March 3, 2015 10:11 PM
  • User5699 posted

    Listview bug: 'List data=new List() { "item", "item", "item", "item", "item", "item", "item", "item", }; MainPage=new TabbedPage() { Children = { new ContentPage() { Title = "Page1", Content = new ListView() { ItemsSource = data } }, new ContentPage() { Title = "Page2", Content = new ListView() { ItemsSource = data } },new ContentPage() { Title = "Page3", Content = new ListView() { ItemsSource = data } } } };' switch to page2,then turn back to page1,listview display nothing. test on android.

    Wednesday, March 4, 2015 6:15 AM
  • User92957 posted

    Great !!!!

    The Application class now exposes 4 new events for dealing with Modal navigation.

    Please Please Please do this for "normal" navigation as well

    Wednesday, March 4, 2015 8:10 AM
  • User65389 posted

    @Skall:

    XLabs 2.0.5541-pre1 will be in NuGet shortly

    It seems at it is now :tongue:
    So... hopefully the problem now has be gone :)

    Thanks for your effort and also for your awesome PopUp-Control (I have implement it now to about 80% and am now able to use various ListViews from a ScrollView thanks it).
    This has solved a big problem for me.

    Wednesday, March 4, 2015 8:21 AM
  • User352 posted

    @NicolaiSchnberg.2424 unfortunately those events are handled by the NavigationPage itself and not by the Application. You can reasonably have multiple NaivgationPages in your app each with their own navigation states. This is why the events live on NavigationPage

    Wednesday, March 4, 2015 8:21 AM
  • User18221 posted

    WOW ! VERY nice release ! love your pull-to-refresh !

    but on WP8 I encounter a bug: a listview bound to an empty ObservableCollection throws a System.ArgumentOutOfRangeException in System.Windows.ni.dll... Any workaround ?

    Wednesday, March 4, 2015 8:35 AM
  • User352 posted

    @Frounz do you have a repro case maybe? That would be super useful

    Wednesday, March 4, 2015 8:50 AM
  • User92957 posted

    @TheRealJasonSmith Okay, but: We cant cancel the navigation back, can we? There is no cancel value we could set to prevent navigation back (Either by software back button located in top left corner of iOS and Android, neither with the hardware back button)

    Wednesday, March 4, 2015 9:58 AM
  • User58066 posted

    Great work!

    Wednesday, March 4, 2015 9:59 AM
  • User51906 posted

    @NicolaiSchnberg.2424 For the hardware back button you can do this:

    protected override bool OnBackButtonPressed()
    {
        return true;
    }
    
    Wednesday, March 4, 2015 10:06 AM
  • User2456 posted

    The ScrollX, ScrollY properties are great, but they only seem to work if the Scrolled event is handled (the bindings themselves are not enough). Looking at the ScrollView code it becomes obvious why: void IScrollViewController.SetScrolledPosition (double x, double y) { EventHandler<ScrolledEventArgs> scrolled = this.Scrolled; if (scrolled != null && (this.ScrollX != x || this.ScrollY != y)) { this.ScrollX = x; this.ScrollY = y; scrolled (this, new ScrolledEventArgs (x, y)); } }

    yet I think that it not the desired behavior ;)

    Wednesday, March 4, 2015 10:28 AM
  • User92957 posted

    @RaphaelSchindler Okay but only a few ppl will navigate with hardware button when there is a software back botton at the top (A few ppl because only a few ppl bought a windows phone :P)

    Wednesday, March 4, 2015 10:28 AM
  • User18221 posted

    @TheRealJasonSmith couldn't nail it down until now, but probably this helps you in the mean time:

    • base {System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: childIndex at System.Windows.Media.VisualTreeHelper.GetChild(DependencyObject reference, Int32 childIndex) at Xamarin.Forms.Platform.WinPhone.FixedLongListSelector.OnLoaded(Object sender, RoutedEventArgs routedEventArgs) at MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args) at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)} System.Exception {System.ArgumentOutOfRangeException}

    ActualValue = null

    Exception thrown on WP8; Android works iOS not tested;

    this same code worked on all platforms with 1.3.5-pre1

    Hope this helps... I'll try to reproduce it with a clean project...

    Wednesday, March 4, 2015 10:50 AM
  • User92206 posted

    A few people could have bought wp, but wp Developers are who buy Xamarin licences, they love wp (objectively the best OS) and love to see WP supported at BEST by Xamarin !

    Wednesday, March 4, 2015 12:25 PM
  • User65389 posted

    Just updated to 1.4....

    The bug „Application.Current.Properties“ (on at least Android Samsung Tablet SM-T900):
    https://bugzilla.xamarin.com/show_bug.cgi?id=26444
    seems to be gone, when the properties are store explicit with the new method:

    await Application.Current.SavePropertiesAsync();

    While the application-object still is unknown in debugger (iOS and Android) (seems to be a debugger-related bug -> already described in same bugzilla-bug, see above).

    ScrollView-ScrollToAsync seems to work (at least on iOS and Android -> not able to test WP -> see “massive problem with WP" below):
    I have implemented it on a search-page in my app.
    If the user tap on the search-button and don’t have filled a needed value, an Alert is showed and then (new implemented), the ScrollView is scrolled to the button.

    Note: oScrollView is the name of my ScrollView (what is part of a StackLayout)

    await oScrollView.ScrollToAsync(0, 20, true); // works

    Note: btPopUpPLZOrtZeigen is a button that is in a StackLayout that is in the ScrollView (oScrollView) - I also have tested the ScrollToAsync with another element - it works.

    await oScrollView.ScrollToAsync(btPopUpPLZOrtZeigen ,0 ,true); // works

    whereby I don’t know what for the second parameter stays (it seems as only 0 is accepted as value) Jason: What for is the second parameter (ScrollToPosition Position)?

    And.. thanks for this new feature... :)

    @matchey:
    I don’t have implemented any further “Scrolled event” - it just works (maybe you have another problem?

    :warning:Massive (new) Problem in WP (what breaks my WP-App)::warning:
    If I start my WP-App (in WP-emulator or on device):
    - The start-page (of my master-detail-page) is showed.
    - If I then tap on the home-icon, the master-page (menu) is showed.
    - If I then tap on an entry, the app crashes hard:

    If have debugged it and as soon the line:

    var response = await client.GetAsync(cURL);

    (query data from webservice after select a page) is reached, the app crashes hard with:

    System.ArgumentOutOfRangeException ist aufgetreten.
    Message: Eine Ausnahme (erste Chance) des Typs "System.ArgumentOutOfRangeException" ist in System.Windows.ni.dll aufgetreten.
    Zusätzliche Informationen: Specified argument was out of the range of valid values.
    

    The URL filled in cURL looks good… Hmmm… I don’t see the hang-together..?

    This problem seems to be similar to the problem of @Frounz (but on another edge)

    @TheRealJasonSmith:
    Help please… any idea?

    Wednesday, March 4, 2015 12:41 PM
  • User2456 posted

    @FredyWenger - check this (on iOS): public class ScrollPage : ContentPage { double scrollY; public double ScrollY { get { return scrollY; } set { Console.WriteLine ("Content Offset: {0}", value); scrollY = value; } } public ScrollPage () { ScrollView scrollView = new ScrollView (){ BindingContext=this,
    Content = new StackLayout { Children ={ new BoxView { BackgroundColor = Color.Red, HeightRequest = 200 }, new BoxView { BackgroundColor = Color.Blue, HeightRequest = 1000 } } } }; scrollView.SetBinding (ScrollView.ScrollYProperty, "ScrollY", BindingMode.OneWayToSource); //scrollView.Scrolled += (object sender, ScrolledEventArgs e) => { }; //UNCOMMENT TO SEE THE CHANGE Content = scrollView; } }

    With no event handler, the setter is not called while scrolling. Adding one (even empty) fixes it.

    Wednesday, March 4, 2015 1:04 PM
  • User18221 posted

    @TheRealJasonSmith @FredyWenger I can now perfectly reproduce the issue with WP8. somehow it's related to listview. Here's my code from a clean project with xamarin.forms 1.4.0-pre1...

    class Person
    {
        public string name { get; set; }
    }
    
    public class myListView : ContentView
    {
    
        ObservableCollection<Person> cachedPersons = new ObservableCollection<Person>();
    
        public myListView()
        {
            ListView personListView = new ListView { HasUnevenRows = true };
            personListView.ItemTemplate = new DataTemplate(typeof(TextCell));
            personListView.ItemTemplate.SetBinding(TextCell.TextProperty, "name");
            personListView.ItemsSource = cachedPersons;
    
            StackLayout mainStack = new StackLayout
            {
                Children =
                {
                    new Label { Text = "Test" },
                    personListView
                }
            };
    
            Content = mainStack;
        }
    
        public async void refreshUI()
        {
            cachedPersons.Insert(0, new Person { name = "Frounz" });
            cachedPersons.Add(new Person { name = "Jason" });
            cachedPersons.Add(new Person { name = "Fredy" });
        }
    
    }
    
    public class TestSubPage : ContentPage
    {
    
        myListView lw;
    
        public TestSubPage()
        {
            lw = new myListView();
    
            Content = new StackLayout
            {
                Children =
                {
                    lw
                }
            };
        }
    
        protected override void OnAppearing()
        {
            base.OnAppearing();
    
            lw.refreshUI();
        }
    }
    
    public class TestMainPage : ContentPage
    {
    
        public TestMainPage()
        {
            Button testButton = new Button { Text = "Test" };
            testButton.Clicked += async (sender, e) =>
                {
                    await Navigation.PushModalAsync(new TestSubPage(), true);
                };
    
            Content = testButton;
        }
    
        protected override void OnAppearing()
        {
            base.OnAppearing();
    
        }
    }
    

    the problem ist the line public async void refreshUI() (class myListView)

    if I remove the async from this method, this demo works with WP8. If I use the method as async, it does not work and the mentioned exception is thrown.

    Interesting note: it does NOT throw an exception and works as expected, if I use the TestSubPage as the applications main page.

    The problem is, that in production code I have to use this method as async, because I'm calling webservices within the method. And as I said, worked till 1.3.5-pre1 on all platforms, and it works with 1.4.0-pre1 on android.

    hope this helps...

    Wednesday, March 4, 2015 1:23 PM
  • User65389 posted

    @matchey:
    I believe you, that - in your implementation - you have to define the event :smirk:
    In my implementation, I don't use a BindingContext / Bindings (I use it just as dumb container to be able to scroll the contained StackLayout's).
    And.. in my implementation, it just works...:sunglasses: Maybe Jason can bring some light in the dark...

    Wednesday, March 4, 2015 1:23 PM
  • User2456 posted

    @FredyWenger Guess the case is that you just need to scroll to desired place, while we use the current scroll position to do some fancy calculations ;)

    Wednesday, March 4, 2015 1:26 PM
  • User65389 posted

    @Frounz:
    Thanks for your posting.
    Unfortunately, I can't change my code form async to sync, but I hope, that @TheRealJasonSmith now have enough "feed" to figure out (and solve :open_mouth:) the problem soon...

    Wednesday, March 4, 2015 1:32 PM
  • User65389 posted

    @matchey:
    Yes... this may be ;) ;)

    Wednesday, March 4, 2015 1:42 PM
  • User66766 posted

    @TheRealJasonSmith I can confirm the Android Header tapped crash reported earlier.

    Wednesday, March 4, 2015 5:49 PM
  • User69071 posted

    Bug created for android list view header crash.

    https://bugzilla.xamarin.com/show_bug.cgi?id=27663

    Wednesday, March 4, 2015 8:06 PM
  • User352 posted

    thanks for the reports guys, I am trying to get you updates while getting hotfixes out ASAP. I beg your patience.

    Thursday, March 5, 2015 9:58 AM
  • User352 posted

    @NicolaiSchnberg.2424 you cannot cancel the back button once pressed, this is because we cnat support this on all platforms (iOS comes to mind here).

    You can however call NavigationPage.SetHasBackButton (this) in your page constructor where you want to disable the back button. This will cause the button to simply not show up at all.

    Thursday, March 5, 2015 11:01 PM
  • User61789 posted

    Can we please get the map pin.clicked event not firing fixed. It has been a long time coming:

    https://bugzilla.xamarin.com/show_bug.cgi?id=25557

    Thursday, March 5, 2015 11:46 PM
  • User352 posted

    Well not that long but yes its on the list... Limited resources and all that :(

    Friday, March 6, 2015 3:02 AM
  • User37036 posted

    Hi @TheRealJasonSmith ,

    Is there a reason (aka bug/not supported) why the refresh is not showing when binding to the IsRefreshing property in XAML like so (and IsBusy = true)

    <ListView x:Name="listView" ItemSelected="OnItemSelected" IsGroupingEnabled="false" HasUnevenRows="true" IsPullToRefreshEnabled="true" IsRefreshing="{Binding IsBusy}">

    Friday, March 6, 2015 10:54 PM
  • User352 posted

    Which platform do you have this issue on?

    Saturday, March 7, 2015 12:43 AM
  • User18221 posted

    @TheRealJasonSmith thanks for the pre2 update, but I'm still having issues... if you check my last post, regarding listview bug on wp8... with 1.4.0-pre2 the page now opens, and the listview is shown, but even on simple lists many exceptions are begin thrown:

    System.InvalidCastException in mscorlib.ni.dll System.Threading.Tasks.TaskCancelledException in mscorlib.ni.dll AND Xamarin.Forms.Core.DLL System.IO.Exception in mscorlib.ni.dll System.IO.IsolatedStorage.IsolatedStorageException in mscorlib.ni.dll

    after some scrolling in the listview, even a System.OutOfMemoryException or System.Reflection.TargetInvocatonExceptions are thrown...

    The ListView shows some custom cells with images loaded from url or static resource; exceptions are also thrown when using simple ImageCells...

    same code worked on 1.3.5...

    thanks for you help in advance !

    Saturday, March 7, 2015 4:05 AM
  • User352 posted

    @Frounz I am on it, if you PM me your skypeid I can do a call with you too.

    Saturday, March 7, 2015 6:32 AM
  • User37036 posted

    @TheRealJasonSmith on Android, havent tested it on WP/iOS yet.

    Saturday, March 7, 2015 8:33 AM
  • User18221 posted

    @TheRealJasonSmith sorry, jason, SHAME ON ME ! shortly before upgrading to 1.4.0-pre2 I changed a property of an itemlist-bound class from FormattedText to string, but left the custom-cell-binding with FormattedTextProperty. That produced loads of exceptions and unexpected behaviour.

    Sorry for the inconvenience and thanks for your awesome support !

    Saturday, March 7, 2015 5:43 PM
  • User65389 posted

    @TheRealJasonSmith:

    Just updated to pre-2:

    With Pre-1, my app has crashed after the first selection of an Item of the master-detail-page (and then query data) in the line:

    var response = await client.GetAsync(cURL);

    with:

    System.ArgumentException ist aufgetreten. Message: Eine Ausnahme (erste Chance) des Typs "System.ArgumentException" ist in System.Windows.ni.dll aufgetreten. Zusätzliche Informationen: Value does not fall within the expected range.

    now with Pre-2, it crashes on the same line, but by the second attempt.
    So.. this problem is not solved.

    Further there is a new bug in WP -> content of ListView is scrambled now (image overlaps other content) (see attachment). As my app has crashed by the first attempt with Pre-1, I don’t know if the content scramble also was with Pre-1.

    Further still existing bugs:
    Android-tablet (SM-T900):
    If an entry in a StackLayout in a ScrollView (at the end of a page) becomes focus, the appearing keyboard overlaps the entry, as the page is not scrolled). While the page is scrolled on a Android-phone.

    Android (general): If the content if a List (BindingSource) is showed in a ListView and the ListView is scrolled down (so that the first entry is not showed):
    If then the List is changed (e.g. by sorting), the content is not refreshed correct.

    Button-text is aligned left (instead centered) after click button ("the evergreen") .

    iOS (general): If a List (BindingSource) to a ListView is changed, the content does not update correct, the ListView “stutters” extremely when scrolled and the app crashes then after a while.

    To the iOS and Android-problems, I have sent you mails (02.02.2015 and 03.03.2015) with a detailed description and also a download-link to my app (the problems are still the same).

    I will create now new bugzilla entrys and also add a download-link to a new version of my project.
    Note: You then also should be able to comprehend the button-bug...
    I hope, the bug’s to iOS and Android will be fixed soon, as we want to publish the apps now to the shops. For the further WP-issues (not described here), I hope for a soon new release of XF (with a new / enhanced implementation of WP).

    Thanks

    Monday, March 9, 2015 11:09 AM
  • User352 posted

    @Frounz no problem, we've done worse

    Monday, March 9, 2015 12:16 PM
  • User258 posted

    @TheRealJasonSmith

    Are Evans findings still applicable for 1.4 pre 2? I'm at a junction with a real project where I need to know if I image/label controls are reused on viewcells or if I have to make a custom renderer to make it so.

    Could you please elaborate on how viewcell memory are managed on both platforms? And more importantly, pinpoint any pitfalls.

    Monday, March 9, 2015 4:34 PM
  • User65389 posted

    @TheRealJasonSmith:

    I have found a further heavy bug with ListView in Android (hard crash as soon as at selected item in a ListView is changed -> makes my app in Android unusable). I have filled the Android-bugs in bugzilla (including download-link to project).

    Hard ListView crash: https://bugzilla.xamarin.com/show_bug.cgi?id=27782

    ViewCell not updated correct, when List (Datasource) to a ListView is changed: https://bugzilla.xamarin.com/show_bug.cgi?id=27785

    ScrollView is not scrolled automatically, when an Entry receives focus (on Android-tablet) and Button-text is no more centered after click (instead the orientation is left) -> “Button-Evergreen”:smirk: : https://bugzilla.xamarin.com/show_bug.cgi?id=27789

    The bugs for iOS and WP, I want to fill in tomorrow…

    Monday, March 9, 2015 6:46 PM
  • User65389 posted

    @TheRealJasonSmith:

    Filled the WP-bugs now in bugzilla: App crashes after second selection of an item in master-detail page: https://bugzilla.xamarin.com/show_bug.cgi?id=27813

    ListView don’t show ViewCell Correct: It seems as always the second Item is drawn false:
    https://bugzilla.xamarin.com/show_bug.cgi?id=27814

    Tuesday, March 10, 2015 11:26 AM
  • User51805 posted

    on WP (WinPhone 8.1 Simulator), if the Listview's contents fit in the screen and there is no need for a scroll then pull to refresh seems to stop working, no problems on Android and iOS

    Wednesday, April 1, 2015 3:16 PM
  • User64567 posted

    After this release I see the list view has evolved. Though, regarding separations in the cells, the separator lines are still visible for the cells which have no data i.e. the list view occupies the whole screen even if it has fewer content(cells) required to fill up the whole page with those lines : on iOS.

    For Android, it works perfectly fine. Can you guys please look into this.

    Monday, May 18, 2015 9:45 AM
  • User181 posted

    That's the correct behavior for iOS if separators are visible at all.

    Monday, May 18, 2015 12:56 PM