根据Firebase云消息传递文档,用于订阅用户我需要调用的主题
FirebaseMessaging.getInstance().subscribeToTopic("news");
Run Code Online (Sandbox Code Playgroud)
void,问题是我如何理解订阅是否成功?subscribeToTopic每次我的应用程序启动时调用是不好的做法 ?我有一个ViewPager,它的片段中包含几个TextView,它们有不同的字体大小.另外,我有增加/减少字体大小的按钮,通过添加其默认大小加上一个名为STEP的值(由inc/dec字体大小按钮更改)来计算每个textView的字体大小.
我的问题是如果在应用大小更改后第一次显示视图,它将在onCreateView()期间创建所需大小的textViews但是如果片段已经缓存并且onCreateView没有再次调用,我不知道如何更新他们的textViews考虑到只有一个缓存的片段正在屏幕上显示(我可以毫无问题地更新它)但是其他的不会显示(我不知道它们是否附加到活动或者在这种情况下是否附加).
换句话说,我如何检测ViewPager缓存了哪些片段及其已调用的onCreateView(这些片段必须应用更新到其视图的片段).我用浅绿色标记它们,下面的图片中有问号:
I have TextView with spans of type ClickableStringSpan defined as below:
public class ClickableStringSpan extends ClickableSpan {
private View.OnClickListener mListener;
int color;
public ClickableStringSpan(View.OnClickListener listener,int color) {
mListener = listener;
this.color = color;
}
@Override
public void onClick(View v) {
mListener.onClick(v);
}
@Override public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setUnderlineText(false);
ds.setColor(color);
}
}
Run Code Online (Sandbox Code Playgroud)
I set clickable spans on my text like this:
spanStr.setSpan(new ClickableString(new linkedTextClickListener(), linkColor),
startIndex, endIndex,
SpannableString.SPAN_INCLUSIVE_EXCLUSIVE);
Run Code Online (Sandbox Code Playgroud)
Now I want to apply these string to EditTexts instead of …
我正在使用以下代码段显示来自我的应用内的服务的通知:
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle(currentNotificaion.getMessageTitle())
.setContentIntent(contentIntent)
.setContentText(currentNotificaion.getMessageText())
.setAutoCancel(true);
int mNotificationId = (int) currentNotificaion.getMessageServerID();
// Gets an instance of the NotificationManager service
NotificationManager mNotifyMgr =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// Builds the notification and issues it.
mNotifyMgr.notify(mNotificationId, mBuilder.build());
Run Code Online (Sandbox Code Playgroud)
我的服务在清单中声明如下:
<service
android:name="com.myapp.services.NotificationService"
android:stopWithTask="false">
</service>
Run Code Online (Sandbox Code Playgroud)
但是,当从最近的应用列表关闭我的应用时,通知将消失并从通知栏中删除.另一件事是我不会使用从通知栏中删除的粘贴通知.
我怎么能避免这个?
我正在使用android studio正式发布.到目前为止我使用Android Studio 2.1.2版,我需要等待几个小时才能首次导入项目并让gradle同步.有些人建议在离线模式下运行android studio,但是当我想使用外部库时,我需要让我的项目同步,所以我必须启用gradle.
有没有办法让我摆脱Gradle?
举个例子:
4:19:03 PM Executing tasks: [:app:clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:prepareDebugUnitTestDependencies, :app:mockableAndroidJar, :app:assembleDebug]
Run Code Online (Sandbox Code Playgroud)
现在是4:30,仍在运行!只需要在Eclipse中按F11并在20秒内调试应用程序.
我将在Android应用程序的几个页面上显示完整的文本文档.每个页面都包含一个TextView控件,负责显示文本.它还包含一个下一个按钮,该按钮负责更新textview并按照文本从最后显示的部分结束的位置开始.
问题是如何在TextView的可显示区域中找到最后显示的单词?
注意:在这个应用程序中,textView 不应该滚动或使用ellipsize.还必须注意,文本化可以增加或减少.要更好地了解情况:要显示的示例文本:
这是全文.在第一页它刚刚结束在这里的,必须从这里被遵循.
这是其显示的示例说明.问题是如何找到第1页中显示的最后一个单词"here"?

是否为BroadcastReceiver.onReceive方法中运行的操作定义了任何时间限制?
要订阅Android客户端中的主题,我们应该调用:
FirebaseMessaging.getInstance().subscribeToTopic("news");
Run Code Online (Sandbox Code Playgroud)
我想知道如果在执行此指令时互联网连接不可用会发生什么?
当互联网连接可用或Google开发人员应该处理此案例时,Google服务会自动重试订阅吗?
我刚刚在我的1.6.1 prestashop中启用了多重存储,并在我的默认商店之外添加了一个新商店.
默认店铺地址: http ://lak-lak.ir
新的多店地址: http ://lak-lak.ir/ghods
似乎在新店的主页上一切都很好,但是对于联系我们,最佳搜索和其他页面的页面,Prestashop显示404错误页面.
怎么解决这个问题?
我的商店也启用了PS URL重写.
这是.htaccess文件的内容:
# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com - http://www.prestashop.com/forums
<IfModule mod_rewrite.c>
<IfModule mod_env.c>
SetEnv HTTP_MOD_REWRITE On
</IfModule>
RewriteEngine on
#Domain: lak-lak.ir
RewriteCond %{HTTP_HOST} ^lak-lak.ir$
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api$ api/ [L]
RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
# Images …Run Code Online (Sandbox Code Playgroud) 我刚刚安装了Android Studio 3.1以上的Android版本.当我尝试创建新项目时,在项目构建期间它会停止并提示以下错误.我使用了很多解决方案,但没有用.这是错误消息:
错误:找不到gradle-core.jar(com.android.tools.build:gradle-core:3.1.0).在以下位置进行了搜索:https: //dl.google.com/dl/android/maven2/com/android/tools/build/gradle-core/3.1.0/gradle-core-3.1.0.jar
当我检查它显示的日志时,可以在我的机器上下载altough参考文件,https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-core/3.1.0/gradle-core-3.1.0.jar但android studio无法获取它.
我没有在Android Studio上设置任何代理,但尝试代理没有帮助.
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-core/3.1.0/gradle-core-3.1.0.jar
Run Code Online (Sandbox Code Playgroud)
错误日志
org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'MyApplication'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:94)
at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:66)
at org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator.java:34)
at org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(LifecycleProjectEvaluator.java:110)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:50)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:666)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:135)
at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:60)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:38)
at org.gradle.initialization.DefaultGradleLauncher$ConfigureBuild.run(DefaultGradleLauncher.java:249)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.initialization.DefaultGradleLauncher.configureBuild(DefaultGradleLauncher.java:167)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:126)
at org.gradle.initialization.DefaultGradleLauncher.getConfiguredBuild(DefaultGradleLauncher.java:104)
at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:87)
at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:84)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)
at org.gradle.internal.invocation.GradleBuildController.configure(GradleBuildController.java:84)
at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.run(ClientProvidedBuildActionRunner.java:64)
at …Run Code Online (Sandbox Code Playgroud)