我想构建一个返回child值的方法FireBase.我试着这样做:
public String getMessage(){
root.child("MessagesOnLaunch").child("Message").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
message = (String) dataSnapshot.getValue();
Log.i("4r398", "work");
}
@Override
public void onCancelled(FirebaseError firebaseError) {
Log.e("error", firebaseError.getMessage());
}
});
return message;
}
Run Code Online (Sandbox Code Playgroud)
问题是该方法返回的null原因可能是因为该方法不会等到侦听器完成并返回,null因为它的默认值为message.如何使此方法等到侦听器发生然后返回值.
在更新到android studio 3和gradle 3.0.1之前,我可以毫无问题地构建项目,但是自从更新以来,我一直遇到以下错误:
Error:failed linking references.
Error:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt
Run Code Online (Sandbox Code Playgroud)
我试图禁用AAPT2,但随后我收到了一个针对aapt的错误ProcessException
Error:java.util.concurrent.ExecutionException:
com.android.ide.common.process.ProcessException: Error while executing
process /build-tools/26.0.2/aapt with arguments {package -f --no-crunch
-I /android-25/android.jar -M
Run Code Online (Sandbox Code Playgroud)
我尝试将编译更改为实现和api,但它们都给出了相同的错误。有人可以帮我解决这个问题吗?
这是我的gradle文件:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
buildscript {
repositories { …Run Code Online (Sandbox Code Playgroud) 我有以下 HTML 跨度:
<button class="coreSpriteHeartOpen oF4XW dCJp8">
<span class="glyphsSpriteHeart__filled__24__red_5 u-__7" aria-label="Unlike"></span>
</button>
Run Code Online (Sandbox Code Playgroud)
我也有一个webElement表示包含这个跨度的按钮,我使用xpath. 如何aria-label从元素中检索值(Unlike)?
我试图做:
btn = drive.find_element(By.xpath, "xpath")
btn.get_attribute("aria-label")
Run Code Online (Sandbox Code Playgroud)
但它什么都不返回。如何从元素对象中检索具有“aria-label”属性的元素的文本值?
我试图让我的 RP 成为一些网络自动化任务的服务器,所以我安装了python 3.7pypputeer ( Googlel 的 puppeteer 的 Python 版本)。问题是,在 OSX 上顺利运行的代码在 PI 上出现以下错误:
Traceback (most recent call last):
File "main.py", line 45, in <module>
asyncio.get_event_loop().run_until_complete(main())
File "/usr/local/lib/python3.7/asyncio/base_events.py", line 568, in run_until_complete
return future.result()
File "main.py", line 16, in main
browser = await launch(headless=True)
File "/usr/local/lib/python3.7/site-packages/pyppeteer/launcher.py", line 311, in launch
return await Launcher(options, **kwargs).launch()
File "/usr/local/lib/python3.7/site-packages/pyppeteer/launcher.py", line 169, in launch
**options,
File "/usr/local/lib/python3.7/subprocess.py", line 756, in __init__
restore_signals, start_new_session)
File "/usr/local/lib/python3.7/subprocess.py", line 1499, in _execute_child
raise child_exception_type(errno_num, …Run Code Online (Sandbox Code Playgroud) 我如何View放在另一个Viewin后面ConstraintLayout?基本上我想实现这个:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:id="@+id/view1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<View
android:id="@+id/view2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
当视图 1 在 Z 轴上位于视图 2 后面时。