简体   繁体   中英

Kotlin : Cannot find symbol class Fragment or other android classes

I have a java fragment with viewPager in it..

public class FragmentWithViewPager extends Fragment {

    private class ViewPagerAdapter extends FragmentStatePagerAdapter {

        ViewPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int i) {
            Fragment fragment = new DeshFalView(); //<-- Problem here
            Bundle args = new Bundle();
            args.putInt("index", i);
            fragment.setArguments(args);
            return fragment;
        }

    }
}

Now I have another fragment which will be populated inside the above fragment and is written in kotlin like this :

class DeshFalView : Fragment(), DeshfalContract.View {
    //More code...
}

I do not get any lint warning or error but when I try to run the app:

But I get a error :

Error:(79, 37) error: cannot find symbol class DeshFalView

in the highlighted line above .. those two classes are inside same package as shown below在此处输入图片说明

Thanks in advance ...

Problem : I made a stupid mistake that I forgot to apply kotlin-android plugin

Solution : On the top of app gradle file paste :

apply plugin: 'kotlin-android'

Sometimes I had this kind of error even when this:

apply plugin: 'kotlin-android'

was in my app gradle.

The solution is to delete the app/build directory. This folder is auto generated so there will be no problems deleting it.

Hope this will help somebody.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM