小编The*_*Bat的帖子

导航抽屉项目仍然是选定的Android

我的导航抽屉一直显示最后选择的项目.有没有办法删除它.我想如果用户在主页,导航抽屉项目应该不突出显示.

我试过了

drawer.setSelected(false);
Run Code Online (Sandbox Code Playgroud)

在onResume()中.但它没有帮助.

请参考随附的截图,这将有助于理解.

即使我从

android android-menu android-activity navigation-drawer

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

Fragment 刷新返回 - Android 导航

我正在使用 Android 导航组件制作应用程序。但是我遇到了一个非常基本的问题,它可能会导致我的应用程序的整个开发出现问题。

情景

我有这个片段,onViewCreated我在其中观察我的视图模型中的一个字段。

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)

    viewModel = ViewModelProviders.of(this).get(EventDetailsViewModel::class.java)
    viewModel.init(context!!,eventId)

    viewModel.onEventDetailsUpdated().observe(this, Observer {
        setEventDetails(it)
    })

}
Run Code Online (Sandbox Code Playgroud)

在该setEventDetails方法中,我使用数据设置了 recyclerviews。

问题

这个片段是一个带有卷轴的长片段。假设我向下滚动到一个部分,然后单击一个按钮,将我带到另一个片段。

但是当我回到这个片段时,它再次将我带到顶部并完成它在第一次加载时所做的一切。这可能令人不安。它有点像重新创建整个片段而不是保持其旧状态。

我试过的

我搜索了很多问题。并经历了This Github QueryThis SO questionAnother Git ......但我无法解决我的问题。

请帮助,提前致谢。

android android-fragments android-jetpack android-architecture-navigation android-jetpack-navigation

8
推荐指数
1
解决办法
1169
查看次数

用于互联网连接的Android Broacdcast接收器调用了两次

我暂时面对这个问题并注意到其他一些人也遇到过这个问题,但我无法解决它.

问题

我有一个BroadcastReceiver,它一直在监听互联网的变化.因此,无论何时连接或断开互联网,我都会获得onReceive接收器的状态.

问题是它总是被调用两次.当我连接调试器并在代码中有断点时,我可以看到它被调用两次但我的状态更改代码执行.未连接调试器时,在这种情况下,我的状态更改代码根本不会执行.

我的守则

BroadcastReceiver文件

public class ConnectivityReceiver
    extends BroadcastReceiver {

public static ConnectivityReceiverListener connectivityReceiverListener;

public ConnectivityReceiver() {
    super();
}

@Override
public void onReceive(Context context, Intent arg1) {
    ConnectivityManager cm = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
    boolean isConnected = activeNetwork != null
            && activeNetwork.isConnectedOrConnecting();

    if (connectivityReceiverListener != null) {
        connectivityReceiverListener.onNetworkConnectionChanged(isConnected);
    }
}

public static boolean isConnected() {
    ConnectivityManager
            cm = (ConnectivityManager) MyApplication.getInstance().getApplicationContext()
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
    return activeNetwork != null
            && activeNetwork.isConnectedOrConnecting();
}


public …
Run Code Online (Sandbox Code Playgroud)

android android-networking android-activity android-broadcast android-broadcastreceiver

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

底部导航不显示原始颜色

我为我的应用程序设计了底部导航视图。这个想法很简单,绿色底部栏将有白色图标。我为此写了一个选择器

<?xml version="1.0" encoding="utf-8"?>
  <selector xmlns:android="http://schemas.android.com/apk/res/android">

     <item android:state_checked="false" android:color="@android:color/white" />
     <item android:color="@android:color/holo_blue_dark"  />
  </selector>
Run Code Online (Sandbox Code Playgroud)

它有效,它改变了图标颜色,但它并没有使其完全变成白色,颜色看起来呈灰色。我也尝试过,<item android:state_selected="true" android:color="@android:color/white" />但它也不起作用。我添加了下面的图片供您查看差异。

图像

请帮忙

android android-xml android-bottomnav android-bottomnavigationview

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