我在Android上使用一组数据(ArrayList)来填充ListView.在我更改排序模式时,我重新排序链接到适配器的数据并调用notifyOnDataChanged()以更新列表.
这样做,但我希望能够将每个项目设置为新的位置(就像在iOS上一样),因为两个数据集都包含相同的项目 - 只是重新排序.
我花了一些时间思考如何设置动画,并决定将列表中较低的所有项目设置为零高度,然后在新位置动画回原来的大小.这样,当数据在其上方消失时,所有在数据中向上移动的项目实际上会在列表中向上移动.这就是想法,但我无法弄清楚如何实现它.
数据可以表示如下:
Set A | index | Set B
------+-------+------
A | 0 | B
B | 1 | A
C | 2 | C
D | 3 | F
E | 4 | G
F | 5 | E
G | 6 | D
Run Code Online (Sandbox Code Playgroud)
我只是在寻找iOS默认处理Android的东西.不应该这么难.
最近我收到越来越多的用户收到RemoteServiceException错误的报告.我每次给出的堆栈跟踪如下:
android.app.RemoteServiceException: Bad notification posted from package com.smithyproductions.fasttracks: Couldn't expand RemoteViews for: StatusBarNotification(pkg=com.smithyproductions.fasttracks id=311095 tag=null score=0 notn=Notification(pri=0 contentView=com.smithyproductions.fasttracks/0x7f03007d vibrate=null sound=null defaults=0x0 flags=0x62 kind=[null]) user=UserHandle{0})
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1523)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5341)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:929)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
at dalvik.system.NativeStart.main(NativeStart.java)
Run Code Online (Sandbox Code Playgroud)
我似乎永远无法在HTC Sensation或HTC One X上重现这个问题,这让我相信它可能是特定于设备的.我从以下设备收到了此错误的报告:
...而且他们都在运行Android 4.2.1 - 也许这个版本的Android存在错误?
我已经搜索过具有类似问题的人的互联网和StackOverflow,虽然有很多人在这个问题上有很多人因为不正确的资源ID或使用不受支持的视图RemoteViews.我不明白怎么可能会是我做错了,如果它适用于设备的98%,但我并不想告诉这些人的问题,有什么我可以做,要么.
就我创建通知的方式而言,我使用NotificationCompat.Builder类和自定义RemoteViews - 基本上它是一个音乐播放器通知,因此它上面也有一些ImageButtons.
这是我设置通知的代码:
PendingIntent pi = PendingIntent.getActivity(
getApplicationContext(), 0, new Intent(getApplicationContext(), Showcase.class),
PendingIntent.FLAG_UPDATE_CURRENT);
RemoteViews smallContentView = new RemoteViews(getPackageName(),
R.layout.notif_layout); …Run Code Online (Sandbox Code Playgroud) 我已经研究了一段时间了,我能找到的所有问题都指向mp4'暗示',但我无法控制视频.
当我发现Android市场上的MX视频播放器可以某种方式播放我拥有的这些mp4网址时,我就要放弃了.所以目前我使用意图在mx播放器中启动网址,但我更愿意在我的应用中显示视频.
有什么想法mx播放器如何做到这一点会很棒,
谢谢