It seems that simply using android:layout_height=”wrap_content” on your RecyclerView won’t make its height automatically expand when new items are added in it.
programming
Exception: No signature of method android() is applicable for argument types, Build Gradle // Dev Diary
Today I wanted to make a data class a Parcelable so that I could pass it as an argument in Navigation component. Parcelables, though better in performance than Serializables, take more time to implement! To help us out, there’s a “kotlin-parcelize” plugin that can generate the boilerplate code for us. There were issues though. After […]
Two-way data binding with StateFlow & BindingAdapters //Dev Diary
I created BindingAdapters for an EditText like so: My XML layout element looks like this: And in my ViewModel, the inputAmount is set up this way:
Fix coroutine error: Cannot access database on the main thread // Android Dev Diary
As I was running a test for a ViewModel function, I encountered the following error: […] Main Thread @coroutine java.lang.IllegalStateException: Cannot access database on the main thread since it may potentially lock the UI for a long period of time. I think it may be caused by the viewModelScope from viewModelScope.launch {} being used by […]
Grant, revoke permissions via Android Studio Terminal (ADB Shell) // Android Dev Diary
To grant and revoke permissions via Terminal (ADB Shell), run your app on an emulator (I haven’t personally tried on a device but it should work there too). Open your Terminal, and then enter the following command: adb shell Once you’re in, you may use the following syntax for granting or revoking your Android device’s […]
My Fave Android Studio Keyboard Shortcuts
I have been working on small Android apps, and I just want to share some of my favorite keyboard shortcuts. Some of them were manually added by me. Keyboard shortcuts are one of my must-haves for productivity as a programmer, as they let me navigate through code faster, allowing me to focus on creating new […]
Dao Error: Not sure how to handle query method’s return type //Android Kotlin Dev Diary
As I brush up on my Room database knowlege I came upon the following error while building my app:
1 |
WordDao.java:21: error: Not sure how to handle query method's return type (java.lang.Object). DELETE query methods must either return void or int (the number of deleted rows). |
The solution: Set Kotlin version to 1.6.10 then Room to 2.4.2 (Or use more recent compatible versions) in my top-level build.gradle file. Reference: Android Room Kotlin throws Delete Query error
Error: Type mismatch. Required: ActivityMainBinding. Found: ViewDataBinding! //Android Kotlin Dev Diary
The problem is that this line of code is producing an error: And the error says: Type mismatch.Required:ActivityMainBindingFound:ViewDataBinding! The solution is to add a <layout> tag in the layout file that you are inflating!
Expand ScrollView vertically if height is smaller than screen // Android Dev Diary
I have the following XML layout code in an Android app that I’ve been tinkering with: I wrapped my GridLayout in a ScrollView because on the landscape orientation of the Android app’s screen, my grid contents are cut from the view because they’re too tall, and there’s no way to see them without a scrollbar, […]
Prevent Huawei from Killing Your App //Android Dev Diary
I have been playing around with Android app development, particularly on how to retain UI values after configuration changes and minimizing the app to launch a different one. To retain values after configuration changes, I use ViewModels. And to retain values after minimizing the app, the following is supposed to do the trick: But in […]