Android 软键盘显示/隐藏使Gridview适配器多次调用getview

Android 软键盘显示/隐藏使Gridview适配器多次调用getview,android,gridview,Android,Gridview,我有两个片段:片段A,片段B FragmentA包含一个GridView,使用BaseAdapter子类作为适配器 FragmentB包含一个EditText,当聚焦时会显示软键盘 通过按FragmentA的GridView的一个网格,使用FragmentTransaction将FragmentB添加到活动中 问题来了,当FragmentB中的键盘显示/hids时,FragmentA适配器的getView方法会被多次调用,通过位置0,性能不好。 所以任何人都可以解释为什么?这是适配器的正常行为。

我有两个片段:片段A,片段B

FragmentA包含一个GridView,使用BaseAdapter子类作为适配器

FragmentB包含一个EditText,当聚焦时会显示软键盘

通过按FragmentA的GridView的一个网格,使用FragmentTransaction将FragmentB添加到活动中

问题来了,当FragmentB中的键盘显示/hids时,FragmentA适配器的getView方法会被多次调用,通过位置0,性能不好。


所以任何人都可以解释为什么?

这是适配器的正常行为。

我可以避免打这个电话吗?我使用fragment而不是activity作为ui界面页,此调用将使我的应用程序性能非常差。如果您的代码依赖于为特定位置调用getView()的次数,那么您的代码中存在错误。我在一个活动中有许多片段,因此当键盘显示/隐藏时,这些片段中的所有适配器(使用listview或gridview)将被调用,因此性能为pool。您是否找到了避免此问题的解决方案?我一直面临相同的问题?