After Upgrading android 10 Q DialogFragment not working

0

After upgrading Android 10 Q my dialogFragment not working, I have also converted android project into "AdroidX" but still the problem is same.

I am xamarin developer so please help me to understand this problem.

please check error:

2019-09-27 19:01:30.551 2177-2218/? E/memtrack: Couldn't load memtrack module
2019-09-27 19:01:33.135 6797-6797/com.anotherroundapps.apps.kegid E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.anotherroundapps.apps.kegid, PID: 6797
    java.lang.IllegalStateException: Could not execute method for android:onClick
        at android.view.View$DeclaredOnClickListener.onClick(View.java:5994)
        at android.view.View.performClick(View.java:7140)
        at android.view.View.performClickInternal(View.java:7117)
        at android.view.View.access$3500(View.java:801)
        at android.view.View$PerformClick.run(View.java:27351)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
     Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at android.view.View$DeclaredOnClickListener.onClick(View.java:5989)
        at android.view.View.performClick(View.java:7140) 
        at android.view.View.performClickInternal(View.java:7117) 
        at android.view.View.access$3500(View.java:801) 
        at android.view.View$PerformClick.run(View.java:27351) 
        at android.os.Handler.handleCallback(Handler.java:883) 
        at android.os.Handler.dispatchMessage(Handler.java:100) 
        at android.os.Looper.loop(Looper.java:214) 
        at android.app.ActivityThread.main(ActivityThread.java:7356) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 
     Caused by: java.lang.IllegalStateException: Fragment com.anotherroundapps.apps.kegid.ManifestBuilder.EffectiveDateManagerFragment must be a public static class to be  properly recreated from instance state.
        at androidx.fragment.app.BackStackRecord.doAddOp(BackStackRecord.java:400)
        at androidx.fragment.app.BackStackRecord.add(BackStackRecord.java:379)
        at androidx.fragment.app.DialogFragment.show(DialogFragment.java:143)
        at com.anotherroundapps.apps.kegid.ManifestBuilder.showEffectiveDateDialog(ManifestBuilder.java:540)
        at com.anotherroundapps.apps.kegid.ManifestBuilder.itemClick(ManifestBuilder.java:275)
        at java.lang.reflect.Method.invoke(Native Method) 
        at android.view.View$DeclaredOnClickListener.onClick(View.java:5989) 
        at android.view.View.performClick(View.java:7140) 
        at android.view.View.performClickInternal(View.java:7117) 
        at android.view.View.access$3500(View.java:801) 
        at android.view.View$PerformClick.run(View.java:27351) 
        at android.os.Handler.handleCallback(Handler.java:883) 
        at android.os.Handler.dispatchMessage(Handler.java:100) 
        at android.os.Looper.loop(Looper.java:214) 
        at android.app.ActivityThread.main(ActivityThread.java:7356) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 
2019-09-27 19:01:33.147 2177-2201/? E/system_server: Invalid ID 0x00000000.
2019-09-27 19:01:33.193 1812-2126/? E/SurfaceFlinger: ro.sf.lcd_density must be defined as a build property
2019-09-27 19:01:33.196 1812-2284/? E/SurfaceFlinger: ro.sf.lcd_density must be defined as a build property
2019-09-27 19:01:35.611 2177-5427/? E/InputDispatcher: Window handle Window{bf1e32f u0 Application Error: com.anotherroundapps.apps.kegid} has no registered input channel
2019-09-27 19:01:35.669 2177-4730/? E/InputDispatcher: Window handle Window{bf1e32f u0 Application Error: com.anotherroundapps.apps.kegid} has no registered input channel
2019-09-27 19:01:35.738 2177-2285/? E/InputDispatcher: channel '94f2618 com.anotherroundapps.apps.kegid/com.anotherroundapps.apps.kegid.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
2019-09-27 19:01:35.739 2177-2285/? E/InputDispatcher: channel 'f095afe com.anotherroundapps.apps.kegid/com.anotherroundapps.apps.kegid.ManifestBuilder (server)' ~ Channel is unrecoverably broken and will be disposed!
2019-09-27 19:01:37.342 2735-2735/? E/BeaconBle: Missing BluetoothAdapter
2019-09-27 19:01:37.393 2735-2735/? E/BeaconBle: Scan couldn't start for Places
2019-09-27 19:01:50.830 1935-1935/? E/netmgr: Failed to open QEMU pipe 'qemud:network': Invalid argument
2019-09-27 19:01:50.831 1935-1935/? E/netmgr: WifiForwarder unable to open QEMU pipe: Invalid argument
2019-09-27 19:02:50.865 1935-1935/? E/netmgr: Failed to open QEMU pipe 'qemud:network': Invalid argument
2019-09-27 19:02:50.865 1935-1935/? E/netmgr: WifiForwarder unable to open QEMU pipe: Invalid argument
2019-09-27 19:03:09.797 2177-2218/? E/memtrack: Couldn't load memtrack module
2019-09-27 19:03:09.810 2177-2218/? E/memtrack: Couldn't load memtrack module
2019-09-27 19:03:09.812 2177-2218/? E/memtrack: Couldn't load memtrack module
2019-09-27 19:03:50.928 1935-1935/? E/netmgr: Failed to open QEMU pipe 'qemud:network': Invalid argument
2019-09-27 19:03:50.929 1935-1935/? E/netmgr: WifiForwarder unable to open QEMU pipe: Invalid argument
2019-09-27 19:03:56.639 2735-6578/? E/WakeLock: GCM_HB_ALARM release without a matched acquire!
2019-09-27 19:03:56.645 2735-6578/? E/WakeLock: GCM_CONN_ALARM release without a matched acquire!
2019-09-27 19:03:56.893 2177-2218/? E/memtrack: Couldn't load memtrack module
2019-09-27 19:03:56.897 2177-2218/? E/memtrack: Couldn't load memtrack module
2019-09-27 19:04:02.386 2735-6917/? E/WakeLock: GCM_CONN_ALARM release without a matched acquire!
2019-09-27 19:04:45.446 2177-2218/? E/memtrack: Couldn't load memtrack module
  1. I have tried with AndroidX and some of the googles artical but couldn't get much of help

    public void showEffectiveDateDialog() { DialogFragment newFragment = new EffectiveDateManagerFragment(); newFragment.show(getFragmentManager(), "datePicker"); }

    public class EffectiveDateManagerFragment extends DialogFragment {
        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
    
            DateTime currentEffectiveDate = mNewManifest.getEffectiveDate();
    
            // prompt use scan date or select another date
            ArrayList<CharSequence> selections = new ArrayList<CharSequence>();
    
            if (currentEffectiveDate != null)
                selections.add(Html.fromHtml(String.format("Current selection: <b>%s</b>", currentEffectiveDate.toString(KegIdApplication.DATETIME_DISPLAY_FORMAT))));
            else
                selections.add(Html.fromHtml(String.format("Current selection: <b>%s</b>", getString(R.string.label_use_scan_date))));
    
            selections.add(getString(R.string.label_use_scan_date));
            selections.add(getString(R.string.label_choose_a_date));
    
            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            builder.setTitle(R.string.label_effectivedate).setItems(selections.toArray(new CharSequence[selections.size()]), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    switch (which) {
                        case 0:
                            //leave as is
                            dialog.dismiss();
                            break;
                        case 1:
                            // use scan date, clear effective date
                            mNewManifest.setEffectiveDate(null);
                            mEffectiveDateText.setText(R.string.label_use_scan_date);
                            break;
                        case 2:
                            // choose an effectivedate
                            dialog.dismiss();
                            DialogFragment newFragment = new DateTimePickerFragment(mNewManifest.getEffectiveDate());
                            newFragment.show(getFragmentManager(), "datePicker");
                            break;
                        default:
                            //cancel;
                            dialog.dismiss();
                            break;
                    }
                }
            });
    
            //builder.setMessage("Choose the effective date for these kegs");
            return builder.create();
    
        }
    }
    

I have custom dialog will have to open

android-dialogfragment
android-10.0
asked on Stack Overflow Sep 27, 2019 by Jitendra Jadav

1 Answer

0

Answer is I have created new java class for EffectiveDateManagerFragment and other related class changes into static class it solved my problem

answered on Stack Overflow Oct 8, 2019 by Jitendra Jadav

User contributions licensed under CC BY-SA 3.0