无法解析setSelectedNavigationItem(),addTab,newTab()方法

时间:2016-01-02 18:20:26

标签: android android-studio tabs android-actionbar

我是android的新手,我正在制作一个滑动标签布局项目。虽然我的项目遇到了一些问题。在我的类AppCompatActivity中,有一个错误说

  

无法解析setSelectedNavigationItem()方法。

它也显示了addTab()newTab()方法的相同问题。我知道有些东西已经遗漏了,但我找不到。请帮帮我,我的代码是这样的:

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

    <it.neokree.materialtabs.MaterialTabHost
        android:id="@+id/materialTabHost"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        app:textColor="#FFFFFF"
        app:tabMode="scrollable"
        app:tabGravity ="fill"
        app:primaryColor="@color/colorPrimary"
        app:accentColor="@color/colorWhite" />
</android.support.design.widget.AppBarLayout>

<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>

并且java类是这样的:

public class ComparingActivity extends AppCompatActivity implements  MaterialTabListener{

private Toolbar toolbar;
private MaterialTabListener tabHost;
private ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_comparing);
    toolbar = (Toolbar)findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);

    tabHost = (MaterialTabListener)this.findViewById(R.id.materialTabHost);
    viewPager = (ViewPager)this.findViewById(R.id.pager);
    MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager());
    viewPager.setAdapter(adapter);
    viewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
        @Override
        public void onPageSelected(int position) {
            tabHost.setSelectedNavigationItem(position);
        }
    });
    for (int i = 0; i < adapter.getCount(); i++) {
        tabHost.addTab(
                tabHost.newTab()
                        .setText(adapter.getPageTitle(i))
                        .setTabListener(this));
    }
}

一切正常,但需要为我的项目运行解决这三个问题。 logcat snap是这样的: enter image description here

1 个答案:

答案 0 :(得分:0)

将以下dependency添加到您的gradle文件

dependencies {
    compile 'it.neokree:MaterialTabs:0.11'
}