小编Ris*_*876的帖子

无法解析类型“android.support.constraint.Group”上的双向绑定属性“可见性”

我在布局中的 ConstraintLayout 内定义了两个组。我希望它们彼此之间具有可见性。因此,如果 group1 可见,则 group2 应该消失,反之亦然。我正在尝试使用数据绑定来实现这一点。

<data>

    <import type="android.view.View" />

</data>

<android.support.constraint.Group
                    android:id="@+id/group1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:visibility="visible"
                    app:constraint_referenced_ids="..." />

<android.support.constraint.Group
                    android:id="@+id/group2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:visibility="@{group1.visibility == View.VISIBLE? View.GONE : View.VISIBLE}"
                    app:constraint_referenced_ids="..." />
Run Code Online (Sandbox Code Playgroud)

但我收到一个编译错误,内容是:

****/ 数据绑定错误 ****msg: 无法解析类型 'android.support.constraint.Group' 上的双向绑定属性 'visibility'

我究竟做错了什么?

android android-databinding android-constraintlayout

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

useState 在重新渲染时不断重置为初始值

所以我的屏幕代码看起来像这样。我有一个 useStateamount在重新渲染时不断重置为初始值。我有大约 3 个 useEffects。其中之一是在此处的示例代码中,我从数据库获取金额并使用 setAmount 设置它。

    const ConfirmPaymentDialog = props => {
       const getInitialVal = () => {
          console.log('Initial Amount: 0');
          return conversions.numberToBigNumber(0);
       };
       const [amount, setAmount] = useState<BigNumber>(getInitialVal());
    
       useEffect(() => {
           getAmountToPay();
       },[]);
    
       const getAmountToPay = async () => {
        const amount = await myDbModule.getAmount(customer.id);
        console.log('DB Amount: ' + amount?.toString());
        setAmount(amount || conversions.numberToBigNumber(0));
      };
    
       useEffect(() => {
       ...
       }, [isInputTextFocused])
    
      console.log('Rendering');
      return (<View>...</View>);
    }
Run Code Online (Sandbox Code Playgroud)

当我打开此屏幕时。我收到以下控制台日志

 LOG  Initial Amount: 0
 LOG  Rendering
 LOG  DB Amount: 500
 LOG …
Run Code Online (Sandbox Code Playgroud)

react-native react-hooks

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

Resources $ NotFoundException-Vivo设备上的一些Drawable

我主要在Vivo设备上获得Resources $ NotFoundException。这仅在Drawable资源中发生。我有从mdpi到xxxhdpi的所有变体。所有这些都是png。我无法复制它,只能在4个不同的地方进行生产。对于此drawable,其中2个在初始屏幕中,而1个在该行的 facebook登录库中。这意味着这些用户无法进入应用程序。知道是否需要对这些设备进行一些特殊处理吗?我以前从未遇到过这样的事情。

样例代码

<androidx.appcompat.widget.AppCompatImageView
        android:id="@+id/image_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="0dp"
        android:adjustViewBounds="true"
        app:srcCompat="@drawable/splash"
        app:layout_constraintWidth_max="400dp"
        app:layout_constraintBottom_toTopOf="@+id/white_bg"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        tools:src="@drawable/splash"/>
Run Code Online (Sandbox Code Playgroud)

在这里,我由于splashDrawable 而崩溃。

堆栈跟踪

由android.content.res.Resources $ NotFoundException导致无法找到资源ID#0x7f08013d com.myapp.ui.splashScreen.SplashScreenActivity.onCreate

由android.content.res.Resources $ NotFoundException引起:无法在android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java)的android.content.res.ResourcesImpl.getResourceName(ResourcesImpl.java:292)上找到资源ID#0x7f08013d的879。的android.content.res.TypedArray.getDrawable(TypedArray.java:928)的android.widget.ImageView。(ImageView.java:188)的android.widget.ImageView。(ImageView.java:171)的java:953) androidx.appcompat.widget.AppCompatImageView上的androidx.appcompat.widget.AppCompatImageView。(AppCompatImageView.java:72)。(android.x.appcompat.app.AppCompatViewInflater.createImageView(AppCompatViewInflater.java:187)的androidx.appcompat.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:107)的androidx.appcompat.app.App.pat.AppCompatDele androidx.appcompat.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:1316)的createView(AppCompatDelegateImpl.java:1266)android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:817)的android.view.LayoutInflater.createViewFromTag( .java:775),位于android.view.LayoutInflater.rInflate(LayoutInflater.java:908),位于android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:869),位于android.view.LayoutInflater.inflate(LayoutInflater.java:521)在android.view。androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)上的android.view.LayoutInflater.inflate(LayoutInflater.java:380)上的LayoutInflater.inflate(LayoutInflater.java:429)androidx.appcompat.app.App。 com.myapp.ui.splashScreen.SplashScreenActivity.onCreate(SplashScreenActivity.java:81)上的.setContentView(AppCompatActivity.java:141),android.app.Activity上的android.app.Activity.performCreate(Activity.java:7129)。 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1220)的performCreate(Activity.java:7120)android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2906)的android.app.ActivityThread.handleLaunchActivity(ActivityThread.java :3031),位于android.app.ActivityThread。-wrap11(ActivityThread.java)在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1732)在android.os.Handler.dispatchMessage(Handler.java:106)在android.os.Looper.loop(Looper。的android.app.ActivityThread.main(ActivityThread.java:6792)的java:192)com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit的java.lang.reflect.Method.invoke(Method.java)处.java:438),位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826)处调用(Method.java)在com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:438)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826)处调用(Method.java)在com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:438)

android android-resources android-drawable

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

匕首:组件中存在具有匹配键的绑定

我正在使用Dagger 2.16,并在我的Dagger 实现中关注本文。直到我只有一个Activity(HomeActivity)为止,一切都在此实现中运行良好。我一开始在SplashScreenActivity中实现Dagger。我开始收到此错误。这是我项目中的一些代码

AppComponent.kt

@Singleton
@Component(modules = [
    AndroidInjectionModule::class,
    AppModule::class,
    ActivityBuilder::class,
    ServiceBuilder::class,
    BroadcastRecieverBuilder::class])
interface AppComponent : AndroidInjector<MyApp> {
    @Component.Builder
    abstract class Builder : AndroidInjector.Builder<MyApp>()
}
Run Code Online (Sandbox Code Playgroud)

AppModule.kt

@Module()
class AppModule {

    @Provides
    @Singleton
    fun provideContext(application: MyApp): Context {
        return application
    }

    @Provides
    @Singleton
    fun provideRestService(retrofit: Retrofit): RestService {
        return retrofit.create(RestService::class.java)
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

ActivityBuilder.kt

@Module
abstract class ActivityBuilder {

    @ContributesAndroidInjector(modules = [HomeActivityModule::class])
    @PerActivity
    abstract fun bindHomeActivity(): HomeActivity

    @ContributesAndroidInjector(modules = [SplashScreenModule::class])
    @PerActivity
    abstract fun bindSplashActivity(): SplashScreenActivity
}
Run Code Online (Sandbox Code Playgroud)

BaseActivity.kt

abstract class …
Run Code Online (Sandbox Code Playgroud)

android dependency-injection dagger dagger-2

4
推荐指数
1
解决办法
1607
查看次数

ViewPager 中的水平 RecyclerView 不滚动

我在复杂的层次结构中有一个水平 RecyclerView,看起来像这样 -

<ViewPager id="+@id/first">
    <ViewPager id="+@id/second"> this viewpager is taking away the scroll event
        <SwipeToRefreshLayout>
            <RecyclerView> //this one is vertical
                <RecyclerView id="@id/rv1"> //this one is horizontal
                <RecyclerView id="@id/rv2"> //this one is working fine (different type)
            </RecyclerView>
        </SwipeToRefreshLayout>
    </ViewPager>
</ViewPager>
Run Code Online (Sandbox Code Playgroud)

现在的问题是第二个 ViewPager 正在劫持 Horizo​​ntal RV 的滚动条。该垂直 RV 中有 2 种类型的水平 RV(RV1 和 RV2)。但只有其中一个(RV1)面临这个问题。第二个 (RV2) 工作正常。此外,当我按住然后滚动工作正常。当 RV1 已经在滚动并且尚未稳定时,滚动也可以正常工作。我已经提到了其他关于设置 NestedScrolling false 的答案。似乎没有任何工作。

android android-viewpager android-recyclerview android-nestedscrollview

4
推荐指数
3
解决办法
1610
查看次数

使用c#在字符串中查找子字符串的最佳方法是什么?

我试图在字符串中找到一个单词,意思是

if abcdef ghijk是一个字符串,那么substring ghijk应该给我们1作为频率.但是如果substring是cde那么应该返回0.

我希望这可以用正则表达式,但我不知道是不是.或者可能是字符串类中有一个方法.

c# substring frequency

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