我在 github 中做了错误的提交,我想做以下事情:
是否有可能做到这一点?
我在我的应用程序中使用bitmapfun项目(gridview),而我在测试这个时发现了一个问题.重现此问题的步骤如下:
在logcat中,我看到所有图像都在imageWorker的cancelPotentialWork()中被取消,它们永远不会启动.我的猜测是,之前的bitmapworkerTask(负责下载)发生了一些事情,并且与新任务发生冲突.在我的应用程序按下后退按钮时,我清除所有缓存.但这不是问题的原因,因为我也测试了原始bitmapfun中的相同场景,问题也出现了!我该如何解决这个问题?我还将项目的多线程asynctask更改为单个线程!有没有办法清除所有imageview引用并取消所有正在运行的任务?
对不起我的英语,并且没有提供有关bitmapfun项目性质的更多信息,但它会非常扩展我的问题!向我提问!
编辑:为了重现问题,每次使用菜单选项离开活动时,最好清除缓存.如果您按照步骤1-3进行一次,也不确定是否会出现此问题.也许你必须重复它们!
Edit2(附加帮助):当我开始没有问题的活动时,第一个图像的logcat如下:
04-24 02:31:56.400: D/ImageWorker(25625): doInBackground - starting work
04-24 02:31:56.400: D/ImageFetcher(25625): processBitmap - https://lh3.googleusercontent.com/--L0Km39l5J8/URquXHGcdNI/AAAAAAAAAbs/3ZrSJNrSomQ/s160-c/Antelope%252520Butte.jpg
04-24 02:31:56.400: D/ImageFetcher(25625): processBitmap, not found in http cache, downloading...
Run Code Online (Sandbox Code Playgroud)
当我开始有问题的活动时,logcat是这样的:
04-24 02:28:07.970: D/ImageWorker(24014): cancelPotentialWork - cancelled work for https://lh3.googleusercontent.com/--L0Km39l5J8/URquXHGcdNI/AAAAAAAAAbs/3ZrSJNrSomQ/s160-c/Antelope%252520Butte.jpg
Run Code Online (Sandbox Code Playgroud)
为什么在第二种情况下调用cancelPotentialWork时doInBackground永远不会启动?根据代码序列,这是应该执行的下一个部分!至少有任何人想知道我应该在哪里搜索错误吗?
我有以下xml文件:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/FrameLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
</android.support.v4.view.ViewPager>
<LinearLayout
android:id="@+id/musicLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:gravity="center"
android:orientation="horizontal"
android:padding="10dp"
android:focusable="true"
android:visibility="visible" >
<ImageView
android:id="@+id/backward"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/backward" />
<ImageView
android:id="@+id/stop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="8dp"
android:src="@drawable/stop" />
<ImageView
android:id="@+id/pausePlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="8dp"
android:src="@drawable/play" />
<ImageView
android:id="@+id/forward"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="8dp"
android:paddingRight="10dp"
android:src="@drawable/forward" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
framelayout用于带有选项卡的操作栏,这些选项卡是上述布局中的viewpager.动作栏完美无缺.我想要解决的问题是当我在线性布局外面按下时,需要隐藏最后一个线性布局,它实际上是一个漂浮在屏幕底部的媒体播放器!我已经在musicLayout中测试了onfocuschangelistener,并在页面浏览器中进行了onclick,但没有任何反应!我究竟做错了什么?
编辑:
如果有帮助,每个选项卡都是一个具有自己布局的片段,该片段将添加到viewPager中.
android ×2
git-checkout ×1
git-commit ×1
github ×1
gridview ×1
layout ×1
lost-focus ×1
tabs ×1