小编Ahm*_*idi的帖子

导航架构组件 - 使用lambda表达式的操作导航

我添加了一个新动作Navigation.xml:

 <fragment
    android:id="@+id/launcher_home"
    android:name="com.example.android.codelabs.navigation.MainFragment"
    android:label="@string/home"
    tools:layout="@layout/main_fragment">
    <action
        android:id="@+id/go_to_step_one"
        app:destination="@id/flow_step_one" />
</fragment>
Run Code Online (Sandbox Code Playgroud)

调用导航操作时,如果我使用,导航工作正常:

 view.findViewById<Button>(R.id.navigate_action_bt)?.setOnClickListener(
            Navigation.createNavigateOnClickListener(R.id.go_to_step_one, null)
    )
Run Code Online (Sandbox Code Playgroud)

但是当用lambda调用它时,它不起作用:

 view.findViewById<Button>(R.id.navigate_action_bt)?.setOnClickListener {
        Navigation.createNavigateOnClickListener(R.id.go_to_step_one, null)
    }
Run Code Online (Sandbox Code Playgroud)

android kotlin android-architecture-components android-jetpack android-architecture-navigation

16
推荐指数
1
解决办法
2173
查看次数

在Android 5.0中更改应用程序语言不起作用

我正在使用下面的代码在按钮点击时更改我的应用程序语言(例如从法语更改为英语),它在Android 4.0 +上工作正常但在5.0上却没有.

Locale localeEn = new Locale("en_US");
Locale.setDefault(localeEn);
Configuration configEn = new Configuration();
configEn.locale = localeEn;
getApplicationContext().getResources().updateConfiguration(configEn, null);
this.recreate();
Run Code Online (Sandbox Code Playgroud)

有什么线索为什么好吗?

编辑:这是我的清单(使用android:configChanges)

<activity
            android:name=".activities.LoginActivity"
            android:configChanges="orientation|locale"
            android:label="@string/app_name"
            android:screenOrientation="portrait"/>
Run Code Online (Sandbox Code Playgroud)

android locale android-context

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