Mercurial > dwindows
changeset 2690:755d9ad07aaf
Android: Fix state exception by calling notifyDataSetChanged() on DWListBox.
Avoid warnings creating bitmaps from resources by not calling setImageResource()
unless the resource ID is greater than 65535. Use App ID when logging messages.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sun, 31 Oct 2021 12:59:45 +0000 |
parents | 7127de139acf |
children | e13607b87517 |
files | android/DWindows.kt |
diffstat | 1 files changed, 18 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/android/DWindows.kt Thu Oct 28 17:27:59 2021 +0000 +++ b/android/DWindows.kt Sun Oct 31 12:59:45 2021 +0000 @@ -811,6 +811,7 @@ var notificationID: Int = 0 var darkMode: Int = -1 var lastClickView: View? = null + private var appID: String? = null private var paint = Paint() private var bgcolor: Int? = null private var fileURI: Uri? = null @@ -1909,7 +1910,6 @@ button!!.tag = dataArrayMap button!!.id = resid - button!!.setImageResource(resid) button!!.setOnClickListener { lastClickView = button!! eventHandlerSimple(button!!, DWEvent.CLICKED) @@ -1917,6 +1917,8 @@ if(resid > 0 && resid < 65536) { filename = resid.toString() + } else { + button!!.setImageResource(resid) } if(filename != null) { @@ -3155,6 +3157,8 @@ val listbox = window listbox.list.add(text) + val adapter = listbox.adapter as ArrayAdapter<String> + adapter.notifyDataSetChanged() } } } @@ -3170,6 +3174,8 @@ val listbox = window listbox.list.add(pos, text) + val adapter = listbox.adapter as ArrayAdapter<String> + adapter.notifyDataSetChanged() } } } @@ -3185,6 +3191,8 @@ val listbox = window listbox.list.clear() + val adapter = listbox.adapter as ArrayAdapter<String> + adapter.notifyDataSetChanged() } } } @@ -3218,8 +3226,11 @@ } else if(window is DWListBox) { val listbox = window - if(index > -1 && index < listbox.list.count()) + if(index > -1 && index < listbox.list.count()) { listbox.list[index] = text + val adapter = listbox.adapter as ArrayAdapter<String> + adapter.notifyDataSetChanged() + } } } } @@ -3301,6 +3312,8 @@ if(index < listbox.list.count()) { listbox.list.removeAt(index) + val adapter = listbox.adapter as ArrayAdapter<String> + adapter.notifyDataSetChanged() } } } @@ -3991,7 +4004,7 @@ fun debugMessage(text: String) { - Log.d(null, text) + Log.d(appID, text) } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { @@ -4179,6 +4192,8 @@ fun dwInit(appid: String, appname: String): Int { + appID = appid + waitOnUiThread { // Create the notification channel in dw_init() if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {