【问题标题】:Android Studio Can't resolve fragmentActivity and ViewPager importsAndroid Studio 无法解析 fragmentActivity 和 ViewPager 导入
【发布时间】:2015-01-16 16:39:18
【问题描述】:

我遵循开发可滑动标签的教程。当我导入时:

import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;

Android Studio 显示我无法解析符号“ViewPager”和“FragmentActivity”。 如何解决这个问题?谢谢。

下面是我项目的全部代码。

import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;

public class MainActivity extends FragmentActivity implements
    ActionBar.TabListener {

private ViewPager viewPager;
private TabsPagerAdapter mAdapter;
private ActionBar actionBar;
// Tab titles
private String[] tabs = { "Top Rated", "Games", "Movies" };

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // Initilization
    viewPager = (ViewPager) findViewById(R.id.pager);
    actionBar = getActionBar();
    mAdapter = new TabsPagerAdapter(getSupportFragmentManager());

    viewPager.setAdapter(mAdapter);
    actionBar.setHomeButtonEnabled(false);
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    // Adding Tabs
    for (String tab_name : tabs) {
        actionBar.addTab(actionBar.newTab().setText(tab_name)
                .setTabListener(this));
    }

    /**
     * on swiping the viewpager make respective tab selected
     * */
    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
            // on changing the page
            // make respected tab selected
            actionBar.setSelectedNavigationItem(position);
        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
        }

        @Override
        public void onPageScrollStateChanged(int arg0) {
        }
    });
}

@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
}

@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
    // on tab selected
    // show respected fragment view
    viewPager.setCurrentItem(tab.getPosition());
}

@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
}

}

【问题讨论】:

  • 您是否从 SDK Manger 添加了支持库?
  • 已添加。 android 支持库 Rev 21.0.2。
  • 现在发生了什么?
  • 导入android.support.v4.app.FragmentPagerAdapter时无法解析fragmentPagerAdapter;

标签: java android android-fragments android-studio


【解决方案1】:
  1. 确保您已使用 SDK 管理器下载了 Android 支持存储库。
  2. 为您的应用打开 build.gradle 文件。
  3. 将支持库添加到依赖项部分。例如,要添加 v4 支持库,请添加以下行:

    依赖{ ... 编译“com.android.support:support-v4:18.0.+” }

【讨论】:

  • 我确定我已经下载了 android 支持库和 android 支持库。我还添加了这一行: compile "com.android.support:support-4:18.0.+" 但 android studio 仍然不断要求我去安装 android 支持存储库。
  • 如果您的网络被任何代理阻止,Gradle 将无法下载 jar。如果是这样,您可以在离线模式下工作。将 jar 添加到模块中的 libs 文件夹中,右键单击 jar 并选择“添加为库”选项。
【解决方案2】:

我已经解决了。我安装了所有东西,但没有将外部库导入到我的库中。它不是在创建新项目期间自动安装的。所以我只是打开了项目结构并导入了依赖项->添加support-v4库。

顺便说一句,谢谢你们帮了我很多忙并将建议发布给我。

【讨论】:

    【解决方案3】:
    1. 点击文件,然后选择项目结构
    2. 选择模块“app”
    3. 点击“依赖”标签
    4. 点击+号,选择Library Dependencies
    5. 根据需要选择 support-v4 或其他库
    6. 好的

    【讨论】:

      【解决方案4】:

      要将 Android 支持库添加到现有的 Android 项目:

      右键单击您的项目 选择安卓工具 选择添加支持库。

      通常即使通过SDK管理器添加后,您也必须在此过程中单独添加。这将设置所需的jar文件。

      【讨论】:

        【解决方案5】:

        如果您已经安装并配置了所有工具, 尝试在 IDE 菜单中这样做:Build-> Clean Project

        【讨论】:

          【解决方案6】:

          按照 SubinM 的帖子中所述进行操作

          之后,更改所有 XML 文件

          来自

          到

          【讨论】:

            猜你喜欢
            • 2016-12-08
            • 2015-04-19
            • 2014-02-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-05-11
            • 1970-01-01
            相关资源
            最近更新 更多