我在活动中使用制表符片段,操作栏包含制表符.我想要做的是,无论何时在视图中出现(或重新出现)片段(由用户选择),我都会开始做某事.onResume
在这种情况下我无法使用片段,因为当用户选择另一个标签时,所有标签都不会真正"暂停",因此onResume
不会被调用
我可以使用托管活动中的以下两个事件,但我不想要它们,因为我希望片段应该自己知道这个逻辑并执行该任务.任何的想法?韩国社交协会.
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
// When the given tab is selected, switch to the corresponding page in the ViewPager.
mViewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
}
Run Code Online (Sandbox Code Playgroud) 已经问过这个问题(例如,这里使用ViewPager和没有actionBar的Tabs),但是那里的答案不起作用.有一些指向Swipey的链接,但不幸的是链接也被破坏了.
来自Android站点EffectiveNavigation的示例使用Actionbar来托管选项卡片段,所以很明显,如果我设置了.NoActionBar主题,那么就没有主机了.任何不同的方式?谢谢.
更新我想要创建的屏幕截图,在顶部,没有操作栏.
更新2这是来自谷歌的例子,顶部有一个操作栏(标题为"有效导航"),我想摆脱它
我有一个像这样的数据库(照片附件):旅行有BIDS
,和awardedBid
.我用awardedBid!=null
它来确定旅行仍可用于出价.但是,我不知道如何查询这个条件,所以我必须通过创建另一个字段来破解,bidDone
这样我才能使用.equalTo
,就像这样
mRootReference.child(CHILD_TRIPS).child(mTripKey).orderByChild(BID_DONE).equalTo(true)
Run Code Online (Sandbox Code Playgroud)
但是当我不得不使用2个键来表示一个东西时,我觉得这是不安全的,因为它很容易出错(我自己在附带的截图中创建了一个bidDone = false
它应该在哪里true
).
是否有任何更清洁的方法来执行该任务:查询条件是否存在字符串?
谢谢
请原谅我的初学者问题.我知道我可以像这样切换到另一个屏幕(ViewController)
self.performSegueWithIdentifier ("SecondViewController", sender: self)
Run Code Online (Sandbox Code Playgroud)
但我似乎无法找到在哪里指定我的第二个屏幕的id,我只是找到了Storyboard ID,是吗?
我已经尝试过,只是因为以下错误而收到了崩溃:
Receiver()没有带标识符'SecondViewController'的segue
任何的想法?谢谢
我想知道在Android上,当你向数据库添加一个监听器时,底层的实际机制是如何工作的.是否更频繁拉动或其他特殊的东西?
更新: 为了更清楚,我理解听众是什么,但我的意思是"监听"方案如何工作,客户端(Android)如何知道服务器上的数据发生了变化.这只是一个期刊拉动吗?(而Firebase的工程师已经做了很多工作来覆盖它并让我们更轻松).
看起来firebase不是开源的.
// Attach an listener to read the data at our posts reference
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
System.out.println(snapshot.getValue());
}
@Override
public void onCancelled(FirebaseError firebaseError) {
System.out.println("The read failed: " + firebaseError.getMessage());
}
});
Run Code Online (Sandbox Code Playgroud) 我在这里关注GCM教程http://developer.android.com/guide/google/gcm/gs.html
在第2步的第 5点,它说:
添加以下intent服务:service android:name =".GCMIntentService"
此意图服务将由GCMBroadcastReceiver(由GCM库提供)调用,如下一步所示.它必须是子类com.google.android.gcm.GCMBaseIntentService
,必须包含公共构造函数,并且应该命名my_app_package.GCMIntentService
(除非您使用它的子类GCMBroadcastReceiver
重写用于命名服务的方法).
但是,我不能子类com.google.android.gcm.GCMBaseIntentService
,导入无法解决.我该如何解决?
我有一个模块的pom文件是:
<groupId>com.mycompany.Common</groupId>
<artifactId>common</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>common module</name>
Run Code Online (Sandbox Code Playgroud)
在该工件('common')中,我有一个名为com.mycompany.common.objects的包.在使用包中,我的pom文件是:
<dependency>
<groupId>com.mycompany.Common</groupId>
<artifactId>common</artifactId>
<version>1.0-SNAPSHOT</version>
<type>pom</type>
</dependency>
Run Code Online (Sandbox Code Playgroud)
当我运行mvn install时,它总是抱怨:包com.mycompany.common.objects不存在.
我尝试在错误所在的类中进行显式导入:
import com.mycompany.common.objects
Run Code Online (Sandbox Code Playgroud)
没运气.我在IDE(IntelliJ)和命令行中都尝试过.任何的想法?谢谢
我正在使用android-data-binding库,我将依赖项设置build.gradle
为:
classpath 'com.android.tools.build:gradle:1.3.0'
classpath "com.android.databinding:dataBinder:1.0-rc4"
Run Code Online (Sandbox Code Playgroud)
我得到了这些错误,检查了几个引导但不知道是什么导致这个,因为它太抽象,不知道它是我的xml文件中缺少的变量,还是我的viewmodel中缺少的函数.有提示吗?谢谢
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> java.lang.RuntimeException: failure, see logs for details.
cannot generate view binders java.lang.NullPointerException
at android.databinding.tool.reflection.ModelAnalyzer.loadClassErasure(ModelAnalyzer.java:302)
at android.databinding.tool.reflection.ModelAnalyzer.getObservableFieldTypes(ModelAnalyzer.java:288)
at android.databinding.tool.reflection.ModelClass.isObservableField(ModelClass.java:194)
at android.databinding.tool.expr.FieldAccessExpr.resolveType(FieldAccessExpr.java:232)
at android.databinding.tool.expr.Expr.getResolvedType(Expr.java:308)
at android.databinding.tool.BindingTarget.resolveMultiSetters(BindingTarget.java:140)
at android.databinding.tool.LayoutBinder.<init>(LayoutBinder.java:210)
at android.databinding.tool.DataBinder.<init>(DataBinder.java:49)
at android.databinding.tool.CompilerChef.ensureDataBinder(CompilerChef.java:52)
at android.databinding.tool.CompilerChef.sealModels(CompilerChef.java:84)
at android.databinding.annotationprocessor.ProcessExpressions.writeResourceBundle(ProcessExpressions.java:123)
at android.databinding.annotationprocessor.ProcessExpressions.generateBinders(ProcessExpressions.java:93)
at android.databinding.annotationprocessor.ProcessExpressions.onHandleStep(ProcessExpressions.java:67)
at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.runStep(ProcessDataBinding.java:144)
at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.access$000(ProcessDataBinding.java:129)
at android.databinding.annotationprocessor.ProcessDataBinding.process(ProcessDataBinding.java:65)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:793)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:722)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1700(JavacProcessingEnvironment.java:97)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1029)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1163)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1108)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:824)
at com.sun.tools.javac.main.Main.compile(Main.java:439)
at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:132)
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:45)
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:33)
at …
Run Code Online (Sandbox Code Playgroud) 我在http://developer.android.com/guide/google/gcm/gs.html上遵循关于使用gcm的说明,我坚持以下步骤:
安装帮助程序库 要执行以下各节中描述的步骤,必须先安装帮助程序库(参考:客户端和服务器).在SDK Manager中,安装Extras>适用于Android库的Google Cloud Messaging.这将在YOUR_SDK_ROOT/extras/google /下创建一个gcm目录,其中包含以下子目录:gcm-client,gcm-demo-appengine,gcm-demo-client,gcm-demo-server和gcm-server.
在我的SDK管理器中,我找不到选项:Google Cloud Messaging for Android Library,正如我在此屏幕截图中捕获的那样 ,我该怎么做才能解决这个问题?谢谢
我是新手,有两个问题:
gradle本身是一个构建工具,那么为什么com.android.tools.build:gradle:0.7.+
脚本中需要Android gradle工具呢?
什么是之间关系的版本安装gradle这个的(比如说1.9)和版本的Android gradle这个工具,像0.7 + IN classpath 'com.android.tools.build:gradle:0.7.+'
.如果我将后者的版本更改为0.8.+那么构建将失败'无法找到插件AppPlugin'.
android gradle android-studio build.gradle android-gradle-plugin
android ×7
android-tabs ×2
firebase ×2
build.gradle ×1
cloud ×1
gradle ×1
ios ×1
java ×1
javascript ×1
maven ×1
sdk ×1
swift ×1
uistoryboard ×1
xcode ×1