Using NS 4.1, core 4.1 and android 4.1
I've got a list view with templates and sometimes I have to I navigate back to the list view page and recreate the list.
When doing so on Android - I get the following error
System.err: Error: There is no entry with key 'org.nativescript.widgets.GridLayout{70646a0 VFE...C.. ......I. 0,449-1440,803}' in the realized views cache for template with key'info'.
I assume list view is caching views and causes the crash on re-generation of the list view.
Any way to force clear the cache?
Any solutions?
This is happening in Android 8. Not on earlier Androids.
There is an issue on this:
https://github.com/NativeScript/nativescript-angular/issues/1479
For now, you can try replacing your ListView with a RadListView. Or, if you are using a slide transition between the two screens, you can try removing the transition. This has worked for me.
Related
Me and my team have just migrated our cross-platform XF 4 project to XF5.
The only issue that we have encountered thus far is the following:
Our UWP App was throwing an unhandled App.Xaml exception when navigating to a different page for no apparent reason and after some search, installing the nugget Microsoft.UI.Xaml explicitly fixed that issue, even though that nugget package is supposed to be installed along with XF5 nugget.
But right now a new issue has emerged. When calling the await Application.Current.MainPage.**DisplayAlert**(szTitle, szMessage, btnOk, btnCancel); from the UI thread the alert gets displayed properly but when I click on one of its buttons Ι get an unhandled exception
"No installed components were detected. The property path '(controls:AnimatedIcon.State)' could not be resolved for a Setter." where controls is defined as xmlns:controls="using:Microsoft.UI.Xaml.Controls"
Could you please help me find out what is going wrong?
As far as I know the DisplayAlert() is handled by Xamarin.Forms.
Could you tell me what I am doing wrong? I've downloaded and installed extension MVVMCross available on https://www.mvvmcross.com/. I've installed it using Tools/Extensions and Updates in VisualStudio 2017 environment. When I created new MVVMCross Multi-Page Xamarin Forms Application then for two existing pages, all works perfectly.
I next needed to add ContentPage, but I have a problem since my new Xamarin Forms ContentPage is not correct: file *.cs is visible in my solution but *.xaml is hidden.
The version of MVVMCross and MVVMCross.binding (core, forms, platform) are 5.2.1 and Xamarin.Forms is 2.3.4.270 and Xamarin.Essentials is 1.5.2.
Could anyone explain to me why I can't add a new page? Thank you in advance.
All steps attached as screens...
Yes Lucas Zhang - MSFT, you may be right. It looks like a problem with version of Xamarin.Forms or MVVMCross. I'm not sure what more? I had version 15.7.xx of VS2017. After creating new MVVMCross Multi-Page Xamarin.Forms application I have versions: MVVMCross (all libraries) 5.2.1, Xamarin.Forms 2.3.4.270. Then I've not got any errors but I couldn't add new ContentPage.
Below all my steps which I made myself to resolve this problem:
I've installed VS2019 too, but it has not resolved the problem.
I've updated Xamarin.Forms to the latest stable version 4.6.0.726 but I had on both version of VS the same problem after updating:
Error NETSDK1022 Duplicate 'EmbeddedResource' items were included. The .NET SDK includes 'EmbeddedResource' items from your project directory by default.
I've read the article on Stack Overflow about this but I couldn't fix the problem.
But then it was possible to add correct new ContentPage.
In my opinion, the best solution is to update Xamarin.Forms and fix the problem with Duplicate Resource. If you know what to do for this, tell me please.
Finally, I've back to my old version of VS2017 and I've updated it to the latest version 15.9.22. Now, I can create ContentPage and application works but from my point of view doesn't work perfectly. I can add picture to this comment but in my Solution after adding new Page I have two separate files in Page folder: *xaml, *.cs. They don't have connection like other pages (like on the screen below). But it works.
I think if I update Xamarin.Forms and I fix Duplicate Resource problem, It will work perfectly.
I had a lot of problem after updating Xamarin.Forms therefore I've returned and I've installed update of VS2017.
It would be perfect to describe how we can fix similar problems :-)
I have created a ionic tabs project using ion-tabs component. But the issue is when user clicks on tab icon, tab is not changed immediately. It takes 1-2 seconds to switch the tabs.
HTML Code:
<ion-tabs class="footer-tabs" selectedIndex="selectedTabIndex"#footerTabs>
<ion-tab tabIcon="list" tabTitle="'Notice'" [root]="noticepage"></ion-tab>
<ion-tab tabIcon="book1" tabTitle="'Homework'" [root]="homeworkpage"></ion-tab>
<ion-tab tabIcon="calendar1" tabTitle="'Event'" [root]="eventpage"></ion-tab>
<ion-tab tabIcon="list-box1" tabTitle="'Attendance'" [root]="attendancepage"></ion-tab>
</ion-tabs>
If I create new tabs project, then the component is working fine. But its giving issues in my project. I also tried by removing methods called on the ionPageDidEnter() for all the pages.
Does anyone know what could be the possible issue ?
I have debugged and tried to find possible issues. The issue was because of ion-list on pages , which was causing delay in tab switch. When I reduced ion-items to 30, performance increased. I implemented infinite scroll to avoid the performance issue.
thats is mostly dependant on how you load your pages and how you compile your project
try to lazy load you pages and compile your apk with ionic cordova run android --aot --minifyjs --minifycss this helps in making you app run much faster.
I tried to use app designer with an existing app to see if it could render the views properly. However, when I open an existing view in app designer mode it shows the error
XML Parsing Error
Line : 1
Premature end of file.
I've tried this with a brand new project and it seems to work fine without error. I am also using the latest SDK with my old project (5.4.0).
Another thing I wanted to try was using the "Movies" demo app with the app designer and it didn't have an error but it did show a blank page and only when you turned on "Show Anchors" from the toolbar did it show some outlines of controls but they were not in the correct places.
Hopefully someone has some ideas but it seems to me this only works with brand new projects for some reason.
I've looked in the studio log files too and there's no entry for app designer when I use it and see this error message.
Thanks in advance for any help!
I watched the "What's New in Interface Builder" session video and tried to replicate the code that was showed but unfortunately when I assign a view to my custom class which has #IBDesignable I get 2 errors:
Main.storyboard: error: Live Views: Failed to update auto layout status: The bundle “swiftTest” couldn’t be loaded because its executable isn’t loadable.
Main.storyboard: error: Live Views: Failed to render instance of _TtC9swiftTest14ControllerView: The bundle “swiftTest” couldn’t be loaded because its executable isn’t loadable.
Later on in the video I saw that to have Live Views you have to make these steps:
1. Create framework
2. Create class
3. Mark as designable
How do I make the 1st step?
Thanks
As I understand it at the moment (prior to Xcode 6 Beta 3), #IBDesignable will only work from a view declared in a separate framework target.
However, I also struggled to add it because I had no "plus" button as described in various links (because the Hide Project & Target Lists arrow option was toggled off).
So, select your current project target, then just use the xcode menu options:
Editor > Add target...
Then select
Framework & Library > Cocoa Touch Framework etc.
By the way, to test #IBDesignable, this tutorial worked perfectly as a starting point:
http://www.weheartswift.com/make-awesome-ui-components-ios-8-using-swift-xcode-6/
One small but important thing to note in that tutorial (if you follow it onscreen instead of following on to its full github code listing) is that your view class must be prepended/decorated with #IBDesignable, e.g.
class CustomView : UIView {...}
should be
#IBDesignable class CustomView : UIView {...}
You should make new framework as a target for current project and add your live views in this framework. On General tab on main target you will see your framework in Embedded Binaries section.
I had a project with live views working and at one point I also had these error messages. This went away for me when closing XCode and restarting, fwiw.
It is working very well (and easily) for me with Swift in Xcode 6 Beta 5.
I've confirmed that with Xcode 6 Beta 5 I did not need to add any frameworks (for example, Cocoa Touch framework option under frameworks in the dialog that appears when adding a new project target). Nor did I need to add IBDesignable.h to the project. Both seem to be outdated requirements as per the the weheartswift.com write-up linked in the initial answer to the question.
All I needed to do was:
Prefix class definition of my custom Swift class source file
with keyword #IBDesignable
Prefix vars I wanted to show up in IB Attributes Inspector with #IBInspectable (IB recognizes several common variable types).
Then, after assigning my custom component's (UIControl subclass) name to IB's "Class" name file (under Identity Inspector tab, in right pane) replacing "UIView" -- e.g. the class name of the UIView placeholder object I originally dragged onto the IB VC's view -- upon selecting my custom component from the Content View component list in IB, I saw all my custom class' inspectable items show up in the IB Attributes Inspector!! Very cool.
Note: At first XCode would only allow me to prefix one variable with #IBInspectable. It showed errors on subsequent ones. Then, suddenly it seemed to work, and no more problems after that. Not sure if it was a typo or just took Xcode awhile to re-index my project and pre-compile or parse the code.
I code about #IBDesignable & #IBInspectable,
firstly, I got two errors like you,
then, I change the code I wrote,
you can checkout the code from my github
Good Luck.