APYMED APYMED - 4 years ago 789
Java Question

Cannot resolve symbol 'TabLayout' in sliding menu fragment

I'm a newbie in android programming and Im trying to make an ordering application. I have successfully created the sliding menu along with its fragments and the tab layout in 2 different projects. Now here's the dilemma, when I'm adding the code for the tab layout inside the fragment activity, an error occurs. It says that the tab layout import is not used or cannot resolve symbol 'TabLayout'.

Here's the layout file of my fragment:

slider_fragment2.xml

<RelativeLayout
android:id="@+id/main_layout"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="?attr/colorPrimary"
android:elevation="6dp"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/toolbar"
android:background="#E06908"
android:elevation="6dp"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>

<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_below="@id/tab_layout"/>

</RelativeLayout>


and here's the fragment java file:
Slider_Fragment2.java

package com.example.aldoreymedrano.slider.fragment;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.support.design.widget.TabLayout;
import com.example.aldoreymedrano.slider.R;
import com.example.aldoreymedrano.slider.menu_tab_adapter.PagerAdapter;

public class Slider_Fragment2 extends AppCompatActivity


public Slider_Fragment2() {
// Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.slider_fragment2, container, false);

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
tabLayout.addTab(tabLayout.newTab().setText("Tab 1"));
tabLayout.addTab(tabLayout.newTab().setText("Tab 2"));
tabLayout.addTab(tabLayout.newTab().setText("Tab 3"));
tabLayout.addTab(tabLayout.newTab().setText("Tab 4"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);

final ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
final PagerAdapter adapter = new PagerAdapter
(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}

@Override
public void onTabUnselected(TabLayout.Tab tab) {

}

@Override
public void onTabReselected(TabLayout.Tab tab) {

}
});


return rootView;
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}
}


I tried cleaning and rebuilding the project but it just doesnt work. I know there's something wrong, but I fail to notice it. Please help me, I'm stuck in this for hours already. Thank you in advance.

Here's the error messages

Error:(137, 28) error: incompatible types
required: Fragment
found: Slider_Fragment2

Error:(14, 37) error: package android.support.design.widget does not exist

Error:(38, 9) error: cannot find symbol class TabLayout

Error:(38, 32) error: cannot find symbol class TabLayout

Error:(43, 33) error: cannot find symbol variable TabLayout

Error:(49, 56) error: package TabLayout does not exist

Error:(50, 57) error: package TabLayout does not exist

Error:(31, 5) error: method does not override or implement a method from a supertype

Error:Execution failed for task ':app:compileDebugJavaWithJavac'.


Compilation failed; see the compiler error output for details.
Information:BUILD FAILED

Answer Source

open your build.gradle file you will find depencecies section add design lib to your project

dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        compile 'com.android.support:appcompat-v7:22.2.0'
        compile 'com.android.support:support-v4:22.2.0'
        compile 'com.android.support:design:22.2.0'

    }
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download