I forgot to mention in this video that you should also destroy your binding in the onDestroy() function. For that, simply make it nullable and set it to null in onDestroy
@samirbasnet95233 жыл бұрын
Hey Phillip great video, can you please explain why do we need to destroy the binding?
@derpizzaboi3 жыл бұрын
@@samirbasnet9523 i am not 100% shure, but i think the problem is that if you rotate your device, the view gets destroyed. if your rotated view is the same as the one before you dont have a problem. But if you have two diffrent views for portrait and landscape mode, you will get a null pointer exception because the view that is still stored in the binding variable is not on the screen anymore
@nousernamethx3 жыл бұрын
@@samirbasnet9523 Fragments outlive their views. Make sure you clean up any references to the binding class instance in the fragment's onDestroyView() method.(taken from developers.android site)
@pratikmaurya73943 жыл бұрын
@Dark Sigma Yes you can, and remember to use the double bang '!!' operator whenever referencing like binding!!.tvHelloWorld.text = "View Binding in Fragments"
@aghoghoakpedeye63963 жыл бұрын
@@samirbasnet9523 you destroy the binding to prevent potential data leakage
@amoliski3 жыл бұрын
Wow, 3 minutes at 2x speed took care of every confusion I had after spending multiple hours in the official docs trying to figure this stuff out. Thanks!
@secbdarija2 жыл бұрын
Man u saved the life of a new android developper
@peyvandjadidi43953 жыл бұрын
thank you so much for this helpful video , i've been searching for 4 hours to learn viewBiniding but non of those i found were as simple and helpful as yours.
@joegracey3 жыл бұрын
I'm trying to learn Android development with Kotlin so thank you for this! Also, app dev is very difficult; way more than I thought it would be.
@Chinez2 жыл бұрын
Way way difficult man
@MisterWealth2 жыл бұрын
@@Chinez How has your progress been man
@jimlthor Жыл бұрын
Funny how crazy it is. I know python, some java and C++ and have dabbled in Unreal Engine.. As simple as these apps look to a user, this shit is ridiculous.
@البرمجةللجميع-د4ظ4 жыл бұрын
I love your tutorials i set a plan with my self to watch all of your tutorials from the beginning to the end.
@PhilippLackner4 жыл бұрын
Good plan, thanks!
@البرمجةللجميع-د4ظ4 жыл бұрын
@@PhilippLacknerI checked your website you are genius, i will watch them all on your website because it allows us to learn step by step i mean it's more organized.
@VoidObj3 жыл бұрын
Thank you! Your english is so simple, i understand around 60-70% of text. It`s great for me!
@IceInMaWeiner2 жыл бұрын
Awesome tutorial with examples, I wish more tutorials would add Kotlin/Java in the title though. Haven't started learning Kotlin yet but still a good watch to understand the flow of binding
@スヘア4 жыл бұрын
I'm not ready to move from kotlin synthetics😭 Btw Thank you for this video.
@ahmad7a.4k283 жыл бұрын
and now ;)
@スヘア3 жыл бұрын
@@ahmad7a.4k28 ;)
@shaikhnabeel64433 жыл бұрын
kotlin synthetic is emotion
@parthpatel81734 жыл бұрын
Personal Suggestion: Please use ViewBinding & DataBinding in your upcoming tutorials. So, it will be more clear to how can we use it in real projects.
@PhilippLackner4 жыл бұрын
Only in the projects, not in these single tutorial, that just takes too long to setup everytime if I just make a 10min video
@parthpatel81734 жыл бұрын
@@PhilippLackner Yes, that was I mean to say and forgot to specify it.
@BenKadel4 жыл бұрын
Awesome video, so well explained, thank you as always dude!
@PhilippLackner4 жыл бұрын
My pleasure!
@yanikhohner3743 жыл бұрын
Great job my german mate. You help my a lot!
@PhilippLackner3 жыл бұрын
Danke 💪
@xD-saleem3 жыл бұрын
i miss your intros with that hardcore music
@marcel52353 жыл бұрын
short helpful with fragments, liked subscribed, btw I do your fundamentals course on your web, very clean and relatively in date so it replaced the whole book I had about that. Keep going and If you will have some more advanced courses like Spotify clone and rest of them in future, hell even if they will be paid I will sign for them. You do a really great job to spread your knowledge and KUDOS to you :)
@workwithray25693 жыл бұрын
You literally solved a weekend of headaches in 8 minutes
@andressarebecapinheiro80612 жыл бұрын
Hey, thank you for the video and your time! How do you record your face with the content on the background? Which program and tools do you use?
@_sharmaji.dev_3 жыл бұрын
you saved me Thanks for short and right to point video
@brianquigley19406 ай бұрын
So... "binding" puts the physical address of a variable/view (their location in memory) in a variable? You then reference that area of memory? Or reference an offset to a part of that location in memor? e.g. root points to the base address and a textview points to its offset from that base address. Did I get this right?
@riddhishah7708 Жыл бұрын
Perfect explanation 👌
@aginamabednego2 жыл бұрын
Thank you once again. Straight to the point
@raghavaggarwal86443 жыл бұрын
Thanks for the tutorial, then why we use android-kotlin-extensions? What's the difference between the two? which way is better?
@moriz85493 жыл бұрын
awesome tutorial. you make it easy to understand
@technics62152 жыл бұрын
My Android Studio (in 2022), when I added new activity with navigation drawer created "private FragmentSomethingBinding binding;" for me, but it is without lateinit modifier. Something changed since 2020 when this tutorial was made?
@sodaguy58353 жыл бұрын
underrated channel your content✌
@hacheguioneme3 жыл бұрын
Very simple! you're awesome. Thanks.
@ronniepedersen43673 жыл бұрын
Why are viewbinding not included in the default projects?
@Lyrics-bi8ig Жыл бұрын
wondering too..
@miq07174 жыл бұрын
Which is better to use? viewbinding or Kotlin synthetics?
@footballCartoon912 ай бұрын
This video is old, but useful
@MDDanishAnsariDev4 жыл бұрын
Don't I need to add in XML, or is it required only while using data binding?
@PhilippLackner4 жыл бұрын
Only for data binding
@MDDanishAnsariDev4 жыл бұрын
@@PhilippLackner cool. Thanks
@ForexDude14 жыл бұрын
Hey Philip Thank you very and so much for this video
@AmitVerma-iq3oe Жыл бұрын
How can we use view reference while writing android test, Is there any way to mock view-binding
@salarydost81474 жыл бұрын
Congratulations for 10 k subscribers
@PhilippLackner4 жыл бұрын
Thank you so much 😀
@daiyrkanybekov85753 жыл бұрын
Great Tutorial Philipp
@axelasa2773 жыл бұрын
Ah, my man decided to grow his beared, awesome. DO you have a video on MVVM? for some reason I find you easy to understand.
@yossimaskin13932 жыл бұрын
What's your opinion on DataBinding? is it recommended? i don't see you using it in your tutorials
@yusufmiftahudeen Жыл бұрын
i like this video, God bless you
@Meru-pv9uj Жыл бұрын
Thanks, but idk why i needed to build graddle many times to be able to lateinit the binding
@jafartemirov78124 жыл бұрын
hi bro, Your tutorail is really good, there is no words to describe actually, Could you make video about Databinding and more advanced tutorail maybe kind of ecommerce app
@PhilippLackner4 жыл бұрын
Thanks, for more advanced tutorials checkout the courses on pl-coding.com :) Within the next week I'll publish a course about a social network there
@nomanzafarzafar79123 жыл бұрын
Great effort bro. Keep it up.
@PhilippLackner3 жыл бұрын
Thank you, I will
@victor-ioncislari23752 жыл бұрын
How about letting the App run for an example?
@lokesharora86382 жыл бұрын
thanks bro finally I understand
@amtrax023 жыл бұрын
Great explained :D
@spacegyaan21713 жыл бұрын
hey we can use the kotlin extensions also... why binding is better here?
@PhilippLackner3 жыл бұрын
didn't I explain that in the video? :D
@arulraj0119883 жыл бұрын
How can I use view binding with base activity? In my application all activities extends a common Base activity where all common functionalities written.
@imnithish4 жыл бұрын
I'm now scared to update Android studio because Synthetic Binding got removed from new Android Studio version.
@amanchaudhary8627 Жыл бұрын
Thanku so much ❤️
@h.r.604 жыл бұрын
i'm having issues with using my own custom library. I publish it to github but when i implement it in the build.gradle, my android studio doesn't allow me to call any of my library's classes. any suggestions?
@sidharthmanoj33432 жыл бұрын
Why does the package name of the generated binding class have "databinding" in it ? Does this mean that view binding is a part of data binding ?
@guitarbansi13 жыл бұрын
If I need to access a layout in a different module, does ViewBinding still work?
@easelogic3 жыл бұрын
yes
@easelogic3 жыл бұрын
and by that class name you've to create a new inflator
@mehulbisht97084 жыл бұрын
8:23 Reality - Philipp : use code Philipp15 for 15% discount. Kids : trying to use the code but failing because : Philip15 Phillip15 Phillipp15 Legends : Happy 15th Birthday Philipp ! 😂😂
@PhilippLackner4 жыл бұрын
Who can't write my name properly doesn't deserve my premium courses 😂
@arpitgupta31513 жыл бұрын
15th? He's 15?
@xD-saleem3 жыл бұрын
@@arpitgupta3151 LOL hes in his early 20s.
@ferrianrp3 жыл бұрын
Hi, i wan't to ask something. I used viewbinding inside fragment. And i have process like this, from activity A -> Activity B (Fragment A) and then i finished activity B. There is some error null Viewbinding when i go back to Activity B(Fragment A) and do some process. I don't know what happen. Can you give me a solution? thanks
@vidakamalifar74593 жыл бұрын
Hello, I have a question : When I want to import ActivityMainBinding is imported with: import com.dagger.hilt.databinding.ActivityMainBinding Then I got this error in compile: error: [Hilt] androidx.core.app.ActivityCompat, expected to be annotated with @DefineComponent. Found: [Hilt] What is wrong? I did the code step by step with you
@kipbena82244 жыл бұрын
You forgot to destroy the binding..This prevents memory leaks
@PhilippLackner4 жыл бұрын
You are right, sorry for that
@TheAbhidugar3 жыл бұрын
I used view binding. Also I used custom theme in manifest file to hide ActionBar in main activity only. But either it was giving InflateException or showing blank on phone when experimenting to make it work. I, then, removed view binding and used same old setcontentview(R.layout.activity_main) and IT WORKED. What am I be doing wrong using view binding? Can you please tell? and thanks for the video.
@thearpansircar4 жыл бұрын
It's been a while since I saw one of your videos and holy fuck that beard looks awesome.
@PhilippLackner4 жыл бұрын
Thanks 😂
@murml3 жыл бұрын
Sadly getting an error if i follow your instruction: "Function invocation 'LayoutInflater(...)' expected" (line: "binding = ActivityMainBinding.inflate(LayoutInflater)"). Could you help please?
@murml3 жыл бұрын
Found the problem: there seems to be a difference between LayoutInflater and layoutInflater (upper/lower case - lower works, if someone else got the same problem).
@yutaitadori73183 жыл бұрын
Hey great tutorial 💓
@PhilippLackner3 жыл бұрын
Thank you! 😊
@MCStarYT4 жыл бұрын
Very nice video
@odh_konkanchi3 жыл бұрын
How to use ViewBinding in BaseActivity class which has its own Ui in activity_base.xml? and how to access these views in BaseActivity?
@ulricha.abiguime79182 жыл бұрын
loved the video
@codingwithsam49922 жыл бұрын
Thank you
@jishnunkrishnan57833 жыл бұрын
Thank you!
@gauravthakkar8024 жыл бұрын
Why do we put the layout inside the fragment constructor?
@PhilippLackner4 жыл бұрын
Fastest way to set the layout
@siddharthagrawal61574 жыл бұрын
Really amazing
@AnhNguyen-qd8cm3 жыл бұрын
thanks you so muck
@mdjahidulislam92054 жыл бұрын
Thanks a lot
@chiragprajapati39894 жыл бұрын
How can we use viewBinding if we have BaseFragment or BaseActivity ?
@PhilippLackner4 жыл бұрын
sure
@yahyafati3 жыл бұрын
I trust you man
@androidterminal39242 жыл бұрын
best video
@syedfilms44472 жыл бұрын
thanks alot
@dreamer62287514 жыл бұрын
Interested theme )
@자유야놀자4 жыл бұрын
thanks
@tusharhatwar43744 жыл бұрын
I know this is not right place to request you but can you please make one video on mediaplayer to read multiple song from URL and play using mediaplayer only in kotlin? There is known video tutorial available on KZbin as of now .
@PhilippLackner4 жыл бұрын
I have an entire playlist about exoplayer to make a full music streaming player
@tusharhatwar43744 жыл бұрын
@@PhilippLackner yes I know but i don't want using any other library I want using mediaplayer .....I have also commented on that video playlist for same request
@cinemovieone3 жыл бұрын
How would the viewBinding for the adapter look, would anyone know?
@PhilippLackner3 жыл бұрын
The same way you do it else where. Instead of a view you pass the binding in your viewholder and then you inflate it in with the binding instead
@cinemovieone3 жыл бұрын
@@PhilippLackner That's right, I thought there was something else, but I tried the implementation yesterday and everything went well. Thanks Philipe, you are a thousand =)
@kadrsnr2 жыл бұрын
thank youu
@MtaufiqH7314 жыл бұрын
Interesting!
@MohammedAshlabN23MIA1089 ай бұрын
hi i am new to android can anyone tell me how to destroy the binding like can you give me the code pls
@TZCoder3 жыл бұрын
I wish someone would make a 3rd party synthetics alternative much cleaner than this.
@shreyashchoudhary74133 жыл бұрын
Epic!
@arpitgupta31513 жыл бұрын
7:36 FragmentTestBinding is not showing
@kamal-i7d1m Жыл бұрын
viewbinding is throwing error in inflating ActivityMainBinding
@gurthang061 Жыл бұрын
did you solve it?
@kamal-i7d1m Жыл бұрын
@@gurthang061 yes
@ofoefulechristian96844 жыл бұрын
Where we are with Android dev: Learning something new that we know is soon to be deprecated 😅 #jetpackcompose
@PhilippLackner4 жыл бұрын
Just because jetpack compose will be out doesn't mean you don't need to understand XML. There will be SO MUCH legacy code in the internet and especially companies can't just casually switch to compose if they have big apps using XML. Also, it'll take some time till compose is stable and not in alpha anymore
@ofoefulechristian96844 жыл бұрын
@@PhilippLackner I totally agree. Its just that sometimes it's overwhelming to keep-up with so many changes. I'm currently using ViewBinding in some projects too and its super cool! Thanks for been awesome!!
@devanshmaurya99283 жыл бұрын
It seems that this buildFeatures { viewBinding true } Is replaced with viewBinding { enabled true }
@sonnysarcia69473 жыл бұрын
i think viewBinding is from android studio version 3.6 and higher.....buildFeatures is 4.0 and higher
@MateusMeurer3 жыл бұрын
Thank Philipp very clear! but, fuck them I'm staying with synthetics for as long as I can -.-"
@ojiidroid4 жыл бұрын
can you teach me how to interpret smali code?
@feepin20584 жыл бұрын
One more reason to name views' id in java convention
@mustafashaikh78294 жыл бұрын
nice :)
@jonplaud3 жыл бұрын
Android better make updates, I thought something was wrong with my program. I am trying to get my Android cert and this came up. #Frustrated
@ajaygalagali59634 жыл бұрын
😀
@johnkline43503 жыл бұрын
Synthetics is pronounced: Sin-theh-ticks. Not Sint-het-icks.