相当新的Android开发人员.
我遇到了一个奇怪的问题,我不知道如何解决.我在这里读到了很多问题,听起来就像我遇到的问题一样,但他们问题的解决方案似乎永远不适用于这里发生的事情.
我有一个自定义listView设置使用一个单独的类扩展BaseAdapter并使用一个视图持有者(我设置这个看着自定义列表视图的各种不同的例子).它有一个文本视图,一个按钮,一个进度条和一个图像按钮,这些项目是根据用于下载文件的AsyncTask隐藏/更改的.
当我慢慢滚动列表时,一切正常.当我快速上/下滚动列表时,就好像列表中某些单元格的视图被重新分配给其他单元格一样.
我把这行放在我的适配器类中的"getView"方法的顶部:
@Override
public View getView(final int pos, View convertView, ViewGroup parent)
{
Log.i("ks3","getView called, position is " + pos);
Run Code Online (Sandbox Code Playgroud)
我的列表中有7个项目,其中6个适合屏幕.首次显示时,我会在日志中看到:
getView called, position is 0
getView called, position is 1
getView called, position is 2
getView called, position is 3
getView called, position is 4
getView called, position is 5
Run Code Online (Sandbox Code Playgroud)
当我慢慢向下滚动到下一个项目时,接下来打印出来:
getView called, position is 6
Run Code Online (Sandbox Code Playgroud)
当我向上滚动时,这个:
getView called, position is 0
Run Code Online (Sandbox Code Playgroud)
往下走,慢慢地完美地产生这些结果.
当我开始快速地来回滚动时,它会打印出这个消息很多次,大多数显示6和0作为位置,但偶尔我也会看到这些:
getView called, position is 1
getView called, position is 5
Run Code Online (Sandbox Code Playgroud)
位置1和5不应该被调用,因为它们总是在屏幕上.就好像getView一样混乱了.与此同时,正如我之前所说,我的名单看起来很奇怪.图像按钮将在不应该移动的单元格中向上或向下移动.
如果我回去顺利滚动,我再次看到只有0和6的位置. …
这里有一个相当直截了当的问题,但我似乎找不到已经问过这个问题的人了.很可能没有使用正确的关键字.
无论如何,这是我的场景:
我正在启动一个新的活动,其中我显示了一个Web视图.我调用了overridePendingTransition以便在切换到新活动时获得我想要的动画,这很好(至少,动画部分工作正常).然而,有一些东西会影响效果.
我想要的是让webview从底部滑过上一个活动,当用户按下时,它应该向下滑出站点.第二部分就像一个魅力,但第一部分并不完全是我想要的.
在触发新活动时,旧的活动立即被隐藏,并且在其位置是黑色,因此看起来webview滑过黑色.我想让它在后台留下以前的活动,而不是隐藏它,所以webview滑过它.这可能吗?
谢谢!