erluxman
erluxman

Reputation: 19385

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 enter image description here

Thanks in advance ...

Upvotes: 11

Views: 7057

Answers (2)

astroboy
astroboy

Reputation: 1078

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.

Upvotes: 1

erluxman
erluxman

Reputation: 19385

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'

Upvotes: 46

Related Questions