用片段活动创build的ADT空白活动
我现在真的很困惑,因为每当我创build一个新的Android应用程序与空白活动它总是与fragment_main.xml ..我只是想创build一个空白的活动没有片段之一…
在第一张图片中,空白活动附带了片段布局。
第二张图片显示了创build的fragment_main
现在我真的很困惑…这只发生在更新ADT后,我已经提到这个线程的最新版本: https : //stackoverflow.com/questions/22203862/adt-doesnt-create-default-hello-world-but -command-line-does# =
我只是想做一个没有片段视图的空白活动的Android应用程序…
对于那些想要如何从项目中删除碎片的说明:
1)复制res / layout / fragment_main.xml的所有内容。 打开activity_main.xml,删除FrameLayout,并粘贴复制的内容。
2)删除fragment_main.xml
3)在MainActivity.java中,删除整个PlaceHolderFragment类:
/** * A placeholder fragment containing a simple view. */ public static class PlaceholderFragment extends Fragment { public PlaceholderFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_main, container, false); return rootView; } }
4)从onCreate()中删除以下行:
if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() .add(R.id.container, new PlaceholderFragment()).commit(); }
在这一点上,你应该都准备好运行这个项目。
您可以通过编辑Android SDK文件夹中的模板文件来使用以前的模板。 但是,请确保您有“BlankActivity”文件夹的备份。
-
转到/ templates / tools / templates / activities / BlankActivity
-
findtemplate.xml文件并find下面的一段代码
<parameter id="fragmentLayoutName" name="Fragment Layout Name" type="string" constraints="layout|unique|nonempty" suggest="fragment_${classToResource(activityClass)}" default="fragment_main" help="The name of the layout to create for the activity's content fragment" />
并将constraints
更改为constraints="empty"
。
-
findrecipie.xml.ftl并find下面的一段代码
<instantiate from="res/layout/fragment_simple.xml.ftl" to="${escapeXmlAttribute(resOut)}/layout/${fragmentLayoutName}.xml" />
并评论整个行。 -
findroot / src / app_package中的 SampleActivity.java.ftl文件并删除这两行
<#include "include_options_menu.java.ftl"> <#include "include_fragment.java.ftl">
-
在root / res / layout中findfragment_simple.xml.ftl和activity_fragment_container.xml.ftl文件。 将fragment_simple.xml.ftl文件的内容复制到activity_fragment_container.xml.ftl文件中。
现在当你尝试创build一个新的活动,你会得到这个屏幕
您可以将片段布局名称字段留空。
这在空白活动的情况下适用于我。 我不知道这是否是正确的方法,丢弃碎片和所有,但这对我有用。
这是ADT 22.6.0版的新function: http : //developer.android.com/tools/sdk/eclipse-adt.html
编辑 :最新的ADT更新有一个名为“空活动”,没有片段的新模板。 这是一个简单的类,扩展了Activity
(即使没有默认的菜单)。
请注意,还有一个“空白活动”,它扩展了ActionBarActivity
并有片段
感谢您举报此事的人, https://code.google.com/p/android/issues/detail?id=67513
这是我第一次看到android-review.googlesource.com。 挖掘周围我没有看到一种方式来下载补丁集放在一起,我不确定如何“樱桃select”tools_r22.6,如果有一个线程解释它的链接将不胜感激。
这是我如何去做的。
在您的机器上导航到您的SDK文件夹,然后\ tools \ templates \ activities
复制BlankActivities文件夹并将其粘贴到相同的目录中。
将BlankActivities_copy重命名为EmptyActivities
转到https://android-review.googlesource.com/#/c/88890/4
在文件部分有一个链接列表。 每个链接都指向您需要添加到您创build的新EmptyActivities文件夹的xml。
将右窗格中的xml复制到左窗格顶部的path\文件(链接也是path)。 如果文件已经存在,则删除内容并进行replace。 如果文件不存在,创build它并将xml复制到文件中。
重复每个链接。
closures并重新打开Eclipse。 如果您在编辑器中打开了任何文件,Eclipse将会崩溃。
谢谢你在谷歌Josiah Gaskin与令人难以置信的2天转机!
没有训练文献引用BlankActivity中的片段。 我确信这个修复为我节省了无数个小时,试图弄清楚如何在尝试学习新的IDE时浏览碎片。 再次感谢。
如果您下载最新的ADT 22.6.3
(使用构build工具19.0.3),您将可以select创build一个不使用碎片的新空白Activity
我也面临同样的问题。 我刚刚删除了Eclipse,并再次从http://developer.android.com/sdk/index.html#download下载了ADT包。要恢复以前的项目,只需将工作空间更改为以前的项目。; 这对我有效。
如果您不希望片段部分在您的应用程序中,那么只需“在项目设置向导中取消创build活动选项,然后手动为您的项目创build活动和布局 ”即可。
对此的解决scheme是在%Wherever your ADT bundle is%\sdk\tools\templates\activities\
下的旧版“空白活动”的副本。
如果某人有较旧版本的版本,则可以将其重新命名,将其放置在%Wherever your ADT bundle is%\sdk\tools\templates\activities\
,然后在启动项目时select此文件夹而不是“空白活动” ,所以如果你有一个副本,请分享。
我们find了一个解决scheme:
当你创build一个项目时,select“空”活动。 然后创build一个扩展Activity和一个activity_main.xml布局的MainActivity类。
换句话说,它给了你之前的行为。
这在ADT 22.6.3工作。
在创build新的应用程序时,只需将布局名称复制到片段布局名称(例如activity_main)
瞧! 你得到一个没有碎片部分的活动。
从活动中删除这部分代码:
if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() .add(R.id.container, new PlaceholderFragment()) .commit();
清理项目。
一个空白的活动应该比这更简单。 看起来目前正在解决一个问题: https : //code.google.com/p/android/issues/detail?id=67513&q=blank%20activity&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars
创build项目并手动添加活动时,可以跳过创build活动选项。
如果你发现真的很烦人,你可以尝试回滚ADT和SDK:
从以下url下载22.3 sdk工具:dl-ssl.google.com/android/repository/##您平台的sdk版本在这里##
例如osx是tools_r22.3-macosx.zip
解压缩该文件会给你一个名为“工具”的文件夹使用这个来replace/ path-to-your-android-安装/ android-sdk-macosx /
接下来你需要卸载你的eclipse adt插件。 去帮助 – >安装新软件点击链接,看看已经安装了什么select所有的Android软件包,然后点击卸载。 重新启动Eclipse
从以下url下载22.3 ADT插件: http : //dl.google.com/android/ADT-22.3.0.zip解压缩此文件
回到eclipse点击帮助 – >安装新软件点击添加,然后select你刚才解压的本地文件检查你想安装的内容,然后点击安装再次重启eclipse
我通过将BlankActivity(22.6.2)文件夹replace为android-sdk中工具/模板目录中较旧的sdk BlankActivity(22.6.1)来完成。
不知道这是否完全工作,步骤1)右键单击您的项目转到属性 – > Android,删除参考库,然后按应用。 现在你会看到你的项目中的错误去res-> values->样式,replaceAppBasetheme的父母通过parent =“android:Theme.Light”做所有值的文件夹除了values_v14那里把父=“android:Theme.Holo .Light.DarkActionBar”
2)现在转到MainActivity,用“extends Activity”replace“extends ActionBarActivity”。 Eclipse会提示你为活动导入。
现在删除这部分代码
public static class PlaceholderFragment extends Fragment { public PlaceholderFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_main, container, false); return rootView; } }
来自活动课
if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() .add(R.id.container, new PlaceholderFragment()).commit(); }
现在删除所有未使用的导入。
3)转到res-> Layouts-> fragment.xml,将片段代码复制到activity_main.xml中。 删除fragment.xml。
现在转到main.xmlreplace这个
<item android:id="@+id/action_settings" android:orderInCategory="100" android:title="@string/action_settings" app:showAsAction="never"/>
通过
<item android:id="@+id/action_settings" android:orderInCategory="100" android:title="@string/action_settings" android:showAsAction="never"/>
4)现在点击Project并清理你的项目
对于小型项目,创build一个没有活动的项目并手动添加/编辑活动,布局和清单。
Android听到我们的声音:)。
只需升级或下载 ADT版本到23.0.2或更高。
现在你可以select这样的空白活动,