最近,我将我的eclipse和ADT插件更新为最新版本,并认识到一些重大变化。每当我创建新的Android应用程序项目时,都会出现一个新的appcompat_v7库,它以前不存在,而且还有一个fragment_main。为什么?为什么是activity_main。xml文件不再是直接用于活动布局的首选文件,为什么appcompat库现在包含在每个项目中?我多次尝试删除eclipse/adt/sdk,并从sdk管理器中删除支持库,但没有结果!我意识到这与actionbar有关,但问题是,每当我创建一个新项目时,项目文件和appcompat_v7文件上都会出现一个红色感叹号,这会阻止我编译/运行应用程序,甚至有时候appcompat-v7文件不会创建,我唯一得到的是损坏的代码http://i.stack.imgur.com/XJMfW.png
所以我怎么能删除这个依赖关系和感谢
解决这些问题的最佳方法:
>
首先在项目中,右键单击-
删除Eclipse中创建的fragment_main.xml和Appcompat文件。
编辑并更改activity_main.xml,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
在res/values/styles.xml中:
<resources>
<style name="AppBaseTheme" parent="android:Theme.Light">
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
</style>
</resources>
在res/value es-v11/styles.xml中,您必须像这样更改:
<resources>
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
</style>
</resources>
在res/value es-v14/styles.xml中,您必须像这样更改:
<resources>
<style name="AppBaseTheme" parent="android:Theme.Light">
</style>
<style name="AppTheme" parent="AppBaseTheme">
</style>
</resources>
更改您的菜单/main.xml如下:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
</menu>
最后,改变你的主要活动。像这样的java:
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
同样地,你必须为创建一个新的项目这样做
那是为什么呢?
因为谷歌的工程师将这些东西添加到新活动模板中,至少对于“空白活动”是如此。
为什么activity_main.xml文件不再是活动布局的首选文件
当然欢迎您使用activity_main.xml
来做任何您想要的事情。碰巧Google当前的模板希望您使用片段。Google的模板只是模板。有人可以争辩——我强烈地争辩过——“空白活动”模板不应该做它正在做的事情。然而,除此之外,它只是一个模板。
为什么现在每个项目中都包含appcompat库?
据推测,他们希望从一致的操作栏开始,即使在较旧的API级别上也是如此。
我意识到它与操作栏有关,但问题是,每当我创建新项目时,项目的文件和appcompat_v7文件上都会出现一个红色的感叹号,这阻止了我编译/运行应用程序,甚至有时appcompat_v7文件没有创建,我唯一得到的是损坏的代码。
大约一周前,我报告了这个问题。
那么我如何才能消除这种依赖
步骤1:在包浏览器中右键单击项目名称,并选择Properties。在左侧的房产类别列表中点击Android,并在右侧向下滚动至底部:
步骤#2:在现在将在属性对话框中看到的附加库项目列表中,您可能会看到一个类似于在上面的屏幕截图中看到的“appcompat_v7_6”条目。您的最后一个数字将有所不同,可能是您的数字是红色的X而不是绿色的复选标记。无论如何,如果列表中有“appcompat_v7_NNN”的条目,请单击该条目,然后单击列表右侧的“删除”按钮。然后,单击 OK 按钮关闭对话框。
第3步:在< code > RES/values/styles . XML 中,从< code>Theme更改< code>AppBaseTheme的父级。AppCompat.Light到< code>@android:style/Theme。光。在< code > RES/values-v11/styles . XML 中,从< code>Theme更改< code>AppBaseTheme的父级。AppCompat.Light到< code>@android:style/Theme。赫萝.莱特。在< code > rest/values-v 14/styles . XML 中,从< code>Theme更改< code>AppBaseTheme的父级。app compat . light . darkactionbar 到< code>@android:style/Theme。赫萝. Light.DarkActionBar。请注意,这些值假设您在创建项目时选择了默认的“浅色主题和深色操作栏”——您将需要对这些说明做一些细微的调整。
步骤#4:在<code>res/menu/main/xml<code>中,删除<code>xmlns:app=“http://schemas.android.com/apk/res-auto“从根目录
步骤#5:在您的活动中(例如,
Mainactive
),将活动的父类更改为ActionBaractive
之外的其他类——Fragmentactive
将是一个不错的选择,以尽量减少您必须立即进行的其他更改的数量。此外,清理您的导入(例如,Ctrl-Shift-O)。
此时,除了清理您的项目(项目
问题内容: 这在Microsoft SQL Server的T-SQL上是有效的语法,但在SQLite中则无效,在SQLite中是否有相同的替代语法? 问题答案: 通常,将整个联接移到一个子查询中,该子查询查找要删除的行的主键: 如果您有复合主键,则可以使用rowid代替: 如果您有复合主键,并且将该表创建为WITHOUT ROWID 表,则必须将联接重写为相关子查询:
我在Unity中有项目,使用Mapbox, Mapbox包含以下支持库:support-v4-25.1.0.aar 此库以.aar文件的形式提供,而不是作为gradle命令 尝试构建项目时,我收到此错误: 无法确定任务的依赖项:启动程序:lintVitalRelease。< br >无法解析配置的所有项目:launcher:debuguntimeclass path。< br >无法转换支持-v4
问题内容: 我正在使用Spring JPA进行数据库访问。我能够找到诸如findByName和countByName之类的示例,对于这些示例,我不必编写任何方法实现。我希望找到一些根据某些条件删除一组记录的示例。 Spring JPA是否支持类似于deleteByName的删除?任何指针表示赞赏。 问题答案: 不建议使用的答案(Spring Data JPA <= 1.6.x): 救援的注释。但是
作为测试的一部分,我一直在尝试创建一个用户,然后将其删除,但我不断收到相同的错误组织。冬眠hql。内部的QueryExecutionRequestException:即使在我的存储库和控制器中不断更改代码之后,DML操作也不受支持。 这是我的存储库中的代码: 这是我的控制器中的代码:
我有Java控制器: 并遇到以下问题:警告14068--[nio-8080-exec-3].w.s.m.s.defaultHandlerExceptionResolver:Resolved[org.springframework.web.httpRequestMethodNotSupportedException:Request method'DELETE'not support]它发生在我发送删
我正在尝试使用SwipeToDismissUndoList库在< code>ListView中实现滑动删除,该库扩展了Roman Nurik的SwipeToDismiss示例。 我的问题是在删除动画。由于< code>ListView由< code>CursorAdapter支持,因此动画会在< code>onAnimationEnd中触发< code>onDismiss回调,但这意味着在< co