【问题标题】:Error:(773) Attribute "titleTextStyle" has already been defined错误:(773)属性“titleTextStyle”已被定义
【发布时间】:2023-04-04 11:22:01
【问题描述】:

我正在尝试将项目从 Eclipse 迁移到 Android Studio,在谷歌搜索问题后,我找到了答案 here。不幸的是,我的应用需要 ActionBarSherlock 库和 appcompat-v7。这在 Eclipse 中不是问题,那么 Android Studio 为什么要抱怨呢?另外,除了用替代方法替换所需的 ActionBarSherlock 方法之外,任何人都可以想出一个解决方案吗?我对此进行了调查,发现至少还有几周的工作时间,这会影响我的交付时间表。

我的 gradle 文件如下所示:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'
    }
}
apply plugin: 'android'

dependencies {
    compile project(':ActionBarSherlock:library')
    compile project(':HoloColorPicker')
    compile project(':Android-PullToRefresh:library')
    compile project(':ckChangeLog:library')
    compile files('libs/commons-io-2.0.1.jar')
    compile files('libs/htmlcleaner-2.2.jar')
    compile files('libs/jutf7-1.0.1-SNAPSHOT.jar')
    compile files('libs/jzlib-1.0.7.jar')
    compile files('libs/bugsense-3.6.jar')
    compile files('libs/apache-mime4j-dom-0.7.2.jar')
    compile files('libs/apache-mime4j-core-0.7.2.jar')
    compile 'com.android.support:appcompat-v7:23.3.0'
}

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.2'

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 23
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        instrumentTest.setRoot('tests')
    }
}

【问题讨论】:

  • 您是否检查过 appcompact 库是否也已添加到 sherlock 库中.....如果是,则从您的项目中删除 app compact。您的项目将自动从 appcompact 获取功能。
  • AppCompat 和 ActionBarSherlock 不能一起使用,因为它们使用相同的属性。
  • 这不是 Eclipse 的问题。该应用在构建时运行良好。

标签: android eclipse android-studio actionbarsherlock android-appcompat


【解决方案1】:

首先你必须删除 lib 并添加依赖项,然后像这样从 ActionBarSherlock 替换为 AppCompat

代码替换:

  • SherlockActivity -> AppCompatActivity
  • SherlockFragmentActivity -> FragmentActivity
  • SherlockListActivity -> ListActivity(参见 ListActivity / SherlockListActivity)
  • SherlockListFragment -> ListFragment;
  • getSupportMenuInflater -> getMenuInflater
  • getSherlockActivity() -> getActivity()
  • com.actionbarsherlock.widget.SearchView.OnQueryTextListener() -> OnQueryTextListener(见 SearchView)
  • m.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); -> MenuItemCompat.setShowAsAction(m, MenuItem.SHOW_AS_ACTION_ALWAYS);

如果此更改不起作用,请尝试此https://stackoverflow.com/a/41243220/7235539

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多