小编Ahm*_*ged的帖子

导航架构组件 - 将参数数据传递给startDestination

我有一个活动A,它启动活动B传递一些意图数据.活动B托管来自新导航架构组件的导航图.我想将该意图数据作为参数传递给startDestination片段如何做到这一点?

navigation android android-architecture-components android-architecture-navigation

33
推荐指数
6
解决办法
1万
查看次数

带有水平和垂直滚动环绕内容项的回收器视图

嗨,我想制作一个回收器视图,以将项目水平放置与屏幕适合的数量一样多,但使用垂直滚动,例如此图像

在此处输入图片说明

我尝试使用StaggeredGridLayoutManager但它必须指定列数希望列作为屏幕大小任何帮助都会很好

layout android adapter android-recyclerview

5
推荐指数
1
解决办法
3602
查看次数

Firebase @ google-cloud / firestore软件包Typescript错误重复的标识符“ DocumentData”

我正在使用使用Typescript的Firebase云函数,并且一切正常。在我的代码中,我创建了类型变量之一DocumentReferenceGeoPoint这就是make vs代码将其导入

import { GeoPoint, DocumentReference } from '@google-cloud/firestore'

function offsetSlightly(location:GeoPoint) {
     //some code here
  return new GeoPoint(latitude, longitude)
}
Run Code Online (Sandbox Code Playgroud)

所以我需要添加使用命令添加的那个节点模块

npm install @google-cloud/firestore

当我尝试部署时,每件事看起来都很好,我得到了很多重复的标识符,例如DocumentData,UpdateData,GeoPoint ..etc

错误:

node_modules/firebase-admin/node_modules/@google-cloud/firestore/types/firestore.d.ts:28:15 - error TS2300: Duplicate identifier 'DocumentData'.


28   export type DocumentData = {[field: string]: any};
Run Code Online (Sandbox Code Playgroud)

那就是我的package.json {

  "name": "functions",
  "scripts": {
    "lint": "tslint --project tsconfig.json",
    "build": "tsc",
    "serve": "npm run build && firebase serve --only functions",
    "shell": "npm run build && firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase …
Run Code Online (Sandbox Code Playgroud)

firebase typescript google-cloud-functions google-cloud-firestore

3
推荐指数
1
解决办法
1448
查看次数

Android MaterialButton 不会在 android 棒棒糖中以编程方式改变它的颜色

MaterialButton在 a 中有两个s,LinearLayout我根据单击它们中的任何一个时切换到的某些内部状态来更改它们的背景颜色和文本颜色。它适用于棒棒糖以上的所有 android 版本。当我在棒棒糖中切换颜色时,它们在所有 Android 版本中的初始状态都可以正常工作。

这是初始状态的照片。

在此处输入图片说明

Lollipop 上方所有 android 版本中正确颜色的照片。

在此处输入图片说明

Android Lollipop 中当前发生的事情的照片。

在此处输入图片说明

我不知道那是什么情况。我尝试了很多不同的东西,但没有一个奏效。

这是布局文件的 XML 代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <android.support.design.button.MaterialButton
        android:id="@+id/handymanServicesButton"
        style="@style/View.RoundedMaterialButton"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/margin_medium"
        android:layout_weight="1"
        android:elevation="16dp"
        android:onClick="@{view::handymanServices}"
        android:text="@{viewModel.isHandymanUser() ? @string/handyman_services_button_label : @string/main_button_label}"
        android:textAllCaps="false"
        android:textSize="@dimen/text_size_small"
        tools:text="@string/handyman_services_button_label" />

    <android.support.design.button.MaterialButton
        android:id="@+id/otherButton"
        style="@style/RoundedMaterialButtonNotSelected"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/margin_medium"
        android:layout_weight="1"
        android:elevation="16dp"
        android:onClick="@{view::other}"
        android:text="@string/other_button_label"
        android:textAllCaps="false"
        android:textSize="@dimen/text_size_small" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我应用于按钮的样式。

<style name="View.RoundedMaterialButton">
    <item name="android:minHeight">@dimen/buttonHeight</item>
    <item name="android:elevation">@dimen/cardElevation</item>
    <item name="android:gravity">center</item>
    <item name="rippleColor">@color/material_ripple_color</item>
    <item name="cornerRadius">24dp</item>
    <item name="android:textSize">14sp</item>
    <item name="android:textStyle">bold</item>
    <item name="backgroundTint">@color/colorAccent</item> …
Run Code Online (Sandbox Code Playgroud)

xml android colors android-layout material-design

3
推荐指数
1
解决办法
2338
查看次数

Firestore 无法使用 FieldValue.arrayUnion() 将项目数组合并到另一个数组

我有一个云函数,当某个事件发生时会调用它。在该函数中,我将获得一个字符串数组,例如let h:string[] = ["foo","bar","baz"]与此类似的内容,当我尝试像这样更新文档中的数组字段时, names: admin.firestore.FieldValue.arrayUnion(h)它未能做到这一点并在控制台中抛出该错误

Error: 3 INVALID_ARGUMENT: Cannot convert an array value in an array value.
    at Object.exports.createStatusError (/srv/node_modules/grpc/src/common.js:87:15)
    at Object.onReceiveStatus (/srv/node_modules/grpc/src/client_interceptors.js:1188:28)
    at InterceptingListener._callNext (/srv/node_modules/grpc/src/client_interceptors.js:564:42)
    at InterceptingListener.onReceiveStatus (/srv/node_modules/grpc/src/client_interceptors.js:614:8)
    at callback (/srv/node_modules/grpc/src/client_interceptors.js:841:24)
Run Code Online (Sandbox Code Playgroud)

但是,如果我将代码更改为此 names: admin.firestore.FieldValue.arrayUnion("foo","bar","baz")它可以工作,但在我的函数中,我收到一个不是上述格式的数组,因此它失败

这就是我想要的。我在文档中有一个数组字段,让我们称之为名称。当函数被触发并从中获取数组时。我想将此数组添加到现有的名称数组中

添加数组之前names : ["test","test2"]

添加数组后names : ["test","test2","foo","bar","baz"]

如何解决这个问题?我正在使用打字稿 3.0.1

arrays firebase typescript google-cloud-functions google-cloud-firestore

2
推荐指数
1
解决办法
2399
查看次数