Android Studio 3.5 DataBinding BR fields shown as undefined - android-databinding

After upgrading to Android Studio 3.5, I'm always getting data binding errors in code editor:
Any autogenerated field inside BR is marked as red and non existent, but still project compiles fine. Do you have any ideas how to fix that? Rebuild project, Invalidate Cache nad restart, nothing helped.
Any thoughts?

I think you are importing wrong BR class. I have changed my import from
import com.my.packagename.BR;
into
import androidx.databinding.library.baseAdapters.BR;
It is working fine, now. Enjoy coding...

Related

Bug in importing project code classes in android studio 3.0

So, say I have this code,
And then, normally, if I want to import that class, i just hover on the red-coded code (in this case MenuType), and press Alt+Enter. But, annoyingly, instead of importing the class, it turns into this:
And it's error.
To make it work, I need to manually insert the supposed-to-be-imported package into the import section, and it works normally. It's workable, but kinda annoying.
This however, work normally with non-project code (classes in dependencies, etc)
Anyone knows what caused this and how to fix it? Maybe it's because of Kotlin?
P.S. I think I didn't find this kind of bug in Android Studio prior to 3.0

IntelliJ autocomplete partially working

I've just added some Java classes to my project in IntelliJ IDEA 2017.2.3. When I attempt to use autocomplete to add the elsewhere in the project, it does not find them. It shows older classes, but not the new classes. If I type out the class name, IntelliJ asks to import it and everything works.
What am I missing? Why would if find some of my classes and not others?
Not the end of the world, but it is very annoying.
Well, I just discovered the invalidate cache option. This appears to have fixed the issue, by forcing a re-index.
For anyone else facing this problem, the option is under File -> Invalidate Caches / Restart...

"The type or namespace name 'App' could not be found" Xamarin Forms

I am trying to create a simple app in Xamarin Android with Xamarin Forms using Visual Studio, however I keep getting this error everytime I try to build. I have double checked my references which should contain the Portable project, as well as made sure I have the latest version of Xamarin.Forms. What could I still be missing that would give this error?
using System;
using Android.App;
using Android.Content;
using Android.Content.PM;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using App2;
using Xamarin.Forms.Platform.Android;
namespace App2.Droid
{
[Activity(Label = "App2", Icon = "#drawable/icon", MainLauncher = true,
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity :
global::Xamarin.Forms.Platform.Android.FormsApplicationActivity // superclass new in 1.3
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
LoadApplication(new App()); // method is new in 1.3
}
}
}
In my case, I found there is a bug with Visual Studio 2017 when making a cross platform Xamarin Form app with the generated code if there is a dash in the filename.
It looks like it tries to snake case the title and then complains about not finding that file.
For example, for "my-project", it starts looking for "my_project" in some areas of the generated code.
Using a project name with no symbols seems to solve the issue.
If you're still having issues check to see that the PCL project is referenced under the references in the solution explore
the refrences option in the solution explore
Right click on the references option and click add reference.
in the dialogue box, select the PCL project and click okay.
this should solve the error
Found the source of the error! If anyone else is struggling, try updating Xamarin.Forms using NuGet Packages for Solution. I was only using the Package Manager Console which was not giving me the latest version.
Check whether the namespace you defined in pcl under which the class App() is created is defined in Android project. For example, If your pcl class App() is present under the namespace called App2, then you need to add this namespace in Android project as follows,
using App2;
Check this out if the problem is still not resolved :
Go to
project -> Reference - right click and select -.> Add reference -> from left side
select Project -> solution -> then (check ) select Project name --> OK
finish
I was renaming the projects of the solution and had this same error. What I have done is delete the reference to the .Net Standard project and readded with the new name to the Android project.
My case is really rare but I had the same issue and the problem was that I referenced two pcl projects that referenced Xamarin.Forms (one standard shared project and another my custom library with UI controls). Removing dependency to the second one solved the problem.
This answer is not related to Xamarin, but might help others in the future seeing the same error message. This was an ASP.NET 5.0 Blazor Web Assmebly project and I was developing using Visual Studio for Mac.
I got this error when I had renamed a project from Foo to FooBar.
It turns out, VS did not refactor the namespaces in any classes I created, so the root namespace was left as Foo, which was where the startup Program class was, yet the framework was searching for the App.razor file in the project root, which had been renamed to FooBar.
To fix this, I simply renamed the namespace of the Program class from Foo to FooBar.
In my case, the android and iOS projects could not find the PCL.
I had to import the PCL as a project into Android and iOS. Rebuild solution and you should be fine!

Visual Studio Code Formatting fail on save

I've started learning React Native.
I'm using Visual Studio Code as my editor.
I've set up the boiler plate and started the app. But whenever I change a .js file and hit save, VSCode is messing up all the formatting.
I thought I could sort this in the settings.json file but after googling for a while and playing around I can't find the correct setting.
Is this a bug or am I doing something wrong?
Setting file is default one:
UPDATE: I re-installed vscode. Then set up a basic js file with a react native tag and a html tag. I added in:
"editor.formatOnSave": false,
"javascript.format.enable": false
To my settings.json file and the problem still occurs:
The problem is having tags in a js file, I just don't know how to tell vscode to ignore them?
I found out what this was by looking though the extensions. Thanks to #wgj for the hint.
Turns out it was the JS-CSS-HTML formatter. I looked through the instructions and have removed the auto save for now. I'll have to work out the specific settings for this.
It uses js-beautify so if anyone knows the settings I should be looking at would be much appreciated.
I had a similar problem and it turned out my ultimate culprit was...
So I simply disabled it for the workspace.
Same here, all my HTML format messed up after saving, I disable "JS-CSS-HTML Formatter" and problem solved
In the end, what did the trick was changing the file format from JavaScript to JavaScript React on the bottom toolbar.
All my HTML format messed up in js after saving, I disable "JS-CSS-HTML Formatter" and restarted vscode, problem solved.
I found my solution to this problem by converting my components file extension from js to jsx. No more issues and everything is working fine.
Disable js-css-html formatter.
if you are using prettier and beautify together, override the setting as :
"beautify.ignore": [
"**/*.js",
"**/*.jsx"
]
Use Prettier Code Formatter instead of Beautify. Works perfectly for language mode Babel JavaScript
You should search for "format" in settings.json. You'll find a whole lot of TypeScript/JavaScript formatting tweaks in there, but the one that stands out to me is:
// Defines space handling after opening and before closing non empty brackets.
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false
Alternative, you're not a fan of formatting at all, you can turn it off entirely:
// Enable/disable default JavaScript formatter.
"javascript.format.enable": true,
However, a lot of my formatting options come from language server extensions, so if you're using one for React Native specifically, be sure to check the attributes in settings.json, or the docs to see if there are any attributes you can add.
Add this on settings.json file. Whether you are using any extension or not, use this code. It works fine for me:
Solution 1: Just Disable JS-CSS-HTML Formatter
Solution 2: Press Ctrl+, (open settings) after that search Code formatted and change none --> Prettier
If you don't have prettier install from the extension's marketplace.
i just had this problem , apparently its because of the beautify/prettier , try to disable both , then restart Vs code (your editor) . but then if u really want to use prettier , go under its extension settings and make sure its in strict with whitespaces and toogle around a few other settings and you should be fine , cheers .
Just turning off format on save option from the settings would work.
You can select JavaScript React in the task bar under Select Language Mode.
You can try one of the following
uninstall other formatters which are not required. To check how many formatters you have just press ctrl + shift + p or command +shift + p (mac) and type format document after that a menu will appear showing you your formatters
press ctrl + shift + p or command +shift + p (mac) and type settings and click on open users settings and then search for format on save and check the box
that's it!!
Enjoy
changing the file format from JavaScript to JavaScript React on the bottom toolbar worked just fine for me
I have tried all methods but the problem is solved completely by this:
-> Open setting.json
-> "files.associations": {
"*.js": "javascriptreact"
}
->Add above lines and press save the problem will solve
You can type the following command string when creating your project
npx create-react-app name-of-app react-complete-guide
or the following, if you have create-react-app installed already
create-react-app name-of-app react-complete-guide

MVCAwesome, MVC4 and NuGet

I created a new MVC4 project using Razor syntax, and used NuGet to add MVCAwesome.
Looking at this page, it appears that all the expected files and configuration files appear to be in place. I made the edit to the Views/Web.config as directed.
When I try to reference any Awe() controls however, the reference to Awe() shows up in red text, and I get an error message: Cannot resolve symbol Awe()
#Html.Awe().DatePickerFor(model => model.BirthDate).ChangeMonth(true).ChangeYear(true)
Has anyone gotten this to work? What am I missing?
Just FYI, I was able to contact the maintainer of this library. It turns out that in this newer, NuGet version of the controls, you don't need the Awe() part.
For some reason, DatePickerFor still seems to be missing, but I do see other controls there from the package.