我有TextView显示时间.我想使用Android的DataBinding插件.对于格式化时间,我使用DateUtils.formatDateTime(context,int,int)方法,该方法接受Context实例.是否可以获取上下文包含元素?或者我必须使用旧学校的方式?
谢谢
我正在开发Android应用程序,我通过Facebook SDK登录.在应用程序中,我还在webview中显示了facebook社交评论.但问题是,即使用户通过fb sdk登录,webview也不知道它,并且发布新评论需要用户登录.
我的问题是:有没有办法如何将登录从facebook sdk会话传递到webview?例如,通过一些javascript函数,我提供访问令牌字符串并在webview上调用它,以便它登录并准备发布评论?
谢谢 :)
我有一个带有片段的应用程序,在这些片段中我有框架布局,我添加了YouTubePlayerSupportFragment.但是当我点击全屏时会抛出此异常:
java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.xxx/com.example.xxx.MainActivity}:java.lang.IllegalArgumentException:找不到id 0x7f040039的视图(com.example.xxx:id/frame_youtube)片段YouTubePlayerSupportFragment {4282a068#11 id = 0x7f040039}
我已将项目导入eclipse,当我尝试运行它时,抛出此异常:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.polygraf/com.polygraf.activity.Dashboard}: java.lang.ClassNotFoundException: Didn't find class "com.polygraf.activity.Dashboard" on path: /data/app/com.polygraf-1.apk
我试图清理项目,然后检查所有类名和清单是否正常,但仍然无法找到原因.你能帮我一点吗?
达斯巴德班:
public class Dashboard extends FragmentActivity {
private static final String WELCOME_TYPE = "WELCOME_TYPE";
private static final String HELP_TYPE = "HELP_TYPE";
public static final String ADRESS_CONTENT = "ADRESS_CONTENT";
public static final String DOC_NAME = "DOC_NAME";
private Transcript mContent;
private ISettableContent mListOfDocument;
private String mAddress;
private String mDocName;
public Dashboard() {
}
/** Called with the activity is first created. */
@Override
public void onCreate(Bundle …Run Code Online (Sandbox Code Playgroud) 是否有人能够使用与GoogleServices pluginplugin并行的Android DataBinding插件?
dependencies {
classpath 'com.android.tools.build:gradle:1.3.1'
classpath 'com.google.gms:google-services:1.4.0-beta3'
classpath 'com.android.databinding:dataBinder:1.0-rc1'
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.android.databinding'
Run Code Online (Sandbox Code Playgroud)
然后整个项目爆炸了.当我删除服务插件然后数据绑定工作.
这是gradle的堆栈跟踪.
[data binding plugin]: failed to setup data binding
java.lang.NoSuchMethodError: com.android.build.gradle.AppExtension.getApplicationVariants()Lorg/gradle/api/internal/DefaultDomainObjectSet;
at android.databinding.tool.DataBinderPlugin.createXmlProcessorForApp(DataBinderPlugin.java:233)
at android.databinding.tool.DataBinderPlugin.createXmlProcessor(DataBinderPlugin.java:200)
at android.databinding.tool.DataBinderPlugin.access$200(DataBinderPlugin.java:65)
at android.databinding.tool.DataBinderPlugin$1.execute(DataBinderPlugin.java:156)
at android.databinding.tool.DataBinderPlugin$1.execute(DataBinderPlugin.java:152)
at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:113)
at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:102)
at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:87)
at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)
at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy10.afterEvaluate(Unknown Source)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:67)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:488)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:86)
at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35)
at org.gradle.execution.TaskSelector.getSelection(TaskSelector.java:82)
at org.gradle.execution.TaskSelector.getSelection(TaskSelector.java:75)
at org.gradle.execution.commandline.CommandLineTaskParser.parseTasks(CommandLineTaskParser.java:42)
at org.gradle.execution.TaskNameResolvingBuildConfigurationAction.configure(TaskNameResolvingBuildConfigurationAction.java:44)
at org.gradle.execution.DefaultBuildExecuter.configure(DefaultBuildExecuter.java:42)
at org.gradle.execution.DefaultBuildExecuter.access$100(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:48)
at org.gradle.execution.ExcludedTaskFilteringBuildConfigurationAction.configure(ExcludedTaskFilteringBuildConfigurationAction.java:47)
at …Run Code Online (Sandbox Code Playgroud) android google-play-services android-gradle-plugin google-app-invites android-databinding
我正在Android Studio中开发应用程序.但是每当我点击Run按钮时,Run选项卡会自动从底部弹出,其中包含安装com.packagename等消息...,Success,Launching
我已经通过编辑配置禁用了Android DDMS选项卡的自动显示(因为我使用工具栏中的DDMS打开新窗口).但我无法禁用这个愚蠢的自动运行选项卡显示.
有没有办法做到这一点?
我正在为自己制作小应用程序,我想找到与模式匹配的字符串,但我找不到合适的正则表达式.
Stargate.SG-1.S01E08.iNT.DVDRip.XviD-LOCK.avi
Run Code Online (Sandbox Code Playgroud)
这是我所拥有的字符串的expamle,我只想知道它是否包含S [NUMBER] E [NUMBER]的子字符串,每个数字最多2位数.
你能给我一个线索吗?
我有一个主要活动的应用程序扩展ListActivity并显示一堆项目.我想在点击列表项目后显示自定义DialogFragment(用于编辑项目信息).但是根据Google的android教程http://developer.android.com/guide/topics/ui/dialogs.html我只能从扩展FragmentActivity的活动中显示DialogFragment,因为需要调用getSupportFragmentManager()方法.
问题是:如何从ListActivity显示自定义对话框?
谢谢 :)
在新的Jetpack导航库中,似乎无法使用查询参数处理深层链接。如果将以下内容添加到navigation.xml:
<deepLink app:uri="scheme://host/path?query1={query_value}" />则Deeplink不会打开该片段。
经过一番挖掘后,我发现当罪魁祸首是将url从xml转换为Pattern regex时,是在NavDeepLink中。看起来问题是一个没有被排除的问号。
我写了一个失败的测试:
@Test
fun test() {
val navDeepLink = NavDeepLink("scheme://host/path?query1={query_value}")
val deepLink = Uri.parse("scheme://host/path?query1=foo_bar")
assertEquals(true, navDeepLink.matches(deepLink))
}
Run Code Online (Sandbox Code Playgroud)
要使测试通过,我要做的就是逃脱?如下:
@Test
fun test() {
val navDeepLink = NavDeepLink("scheme://host/path\\?query1={query_value}")
val deepLink = Uri.parse("scheme://host/path?query1=foo_bar")
assertEquals(true, navDeepLink.matches(deepLink))
}
Run Code Online (Sandbox Code Playgroud)
我是否在这里缺少将查询值传递给Fragment的真正基本的功能,或者此功能当前不受支持?
regex url android query-parameters android-architecture-navigation
我想在屏幕上显示一个对话框.该对话框应该在FragmentPagerAdapter中包含ViewPager.适配器中的每个项目的宽度设置为.7f.对我来说重要的是,当选择某个项目时,它应该被捕捉到ViewPager的中心,其中下一个和前一个片段的部分可见(正如图像所示).不幸的是,默认行为是左侧的捕捉.
请问有什么方法可以实现吗?
谢谢
(正如有人问:在那张照片上,ViewPager没有延伸到对话框.实际上,对话框与父级的宽度相匹配,并且布局方式看起来不像它)

我有一个以下课程,我作为一个单身人士持有:
public class SessionStore {
Subject<Session, Session> subject;
public SessionStore() {
subject = new SerializedSubject<>(BehaviorSubject.create(new Session());
}
public void set(Session session) {
subject.onNext(session);
}
public Observable<UserSession> observe() {
return subject.distinctUntilChanged();
}
}
Run Code Online (Sandbox Code Playgroud)
在活动中,我观察会话并对每次更改执行网络操作:
private Subscription init() {
return sessionStore
.observe()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.flatMap(new Func1<Session, Observable<Object>>() {
@Override
public Observable<Object> call(Session session) {
return retrofitService.getAThing();
}
})
.subscribe(...);
}
Run Code Online (Sandbox Code Playgroud)
当我订阅会话存储时,主题io()立即发出,因为它是a BehaviourSubject并且订阅者执行mainThread().
当我sessionStore.set(new AnotherSession())在已经订阅它的时候打电话的时候会出现问题.IMO这应该执行init()在io()调度程序中定义的流.然而,发生的是流在subject.onNext()被调用的同一线程上执行.导致成NetworkOnMainThreadException,因为我在做一个网络操作flatMap().
我是否理解主题错了?我这样滥用他们吗?那么适当的解决方案是什么? …
我有Android应用程序通过按钮从服务器异步数据同步.但是我需要按钮才能进入app的所有活动,所以我决定将updateTask作为独立类.
在updateTask中我下载了一些xml数据.然后使用bussines对象来处理它,并最终让这个bussines对象处理保存(或更新)到android db.
基于ORMLite教程,我应该通过调用OpenHelperManager.getHelper(context,DatabaseHelper.class)来获取databaseHelper.我的问题是我需要一些我目前没有的OpenHelperManager上下文.
我认为最好的方法是将活动的上下文传递给updateTask,但我该怎么做呢?将上下文进一步传递给与任何活动无关的bussines对象也不奇怪.最后:甚至是什么背景?它只是代表活动的父母还是有更深层次的目的?
谢谢 :)
android ×10
dialog ×2
regex ×2
.net ×1
android-architecture-navigation ×1
asynchronous ×1
c# ×1
center ×1
class ×1
data-binding ×1
database ×1
eclipse ×1
facebook ×1
fragment ×1
fullscreen ×1
java ×1
list ×1
listactivity ×1
login ×1
ormlite ×1
rx-java ×1
scheduler ×1
subject ×1
tabs ×1
task ×1
token ×1
url ×1
view ×1
webview ×1
youtube ×1