1.使用webview浏览有声音或者视频的网页,关闭后视频跟声音不停止的解决办法
此问题绝对是不能够容忍的,于是上网搜索,这一搜索不要紧,原来遇到此问题的网友还不止笔者一人。查了一番之后发现,原来此问题应该归属于Android的bug,不太好修改。对于包含视频的网页,可以下面的方法解决:
[java]
1. protected void onPause() {
2. super.onPause();
3.
4. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
5. // 暂停网页中正在播放的视频
6. }
7. }
但是此代码对于声音是无能为力。在网上搜索了很长时间,解决办法也很多,如:
[java]
1. web.pauseTimers();
2. web.stopLoading();
3. web.loadData("<a></a>", "text/html", "utf-8");
[java]
1. Intent i = new Intent("com.android.music.musicservicecommand");
2. i.putExtra("command", "pause");
3. mContext.sendBroadcast(i);
[java]
1. web.loadData("about:blank");
以上方法,经过笔者测试,均不好用。
后来经过多次测试,发现一个规律,就是在finish之前,Activity被重新载的页面地址是啥,下次打开之后,还显示什么页面(因为笔者使用:web.loadData("about:blank");方法测试时,发现下次打开时,显示的是空白页面,开始以为是页面没有加载成功,后来无意中灵机一动,会不会是关闭之前加载的页面,下次打开时还是加载哪个呢?)。后来测试了一下,关闭之前加载了一下百度页面,发现下次打开时,还真是显示的百度百度页面。那就将错就错,直接重新加载当前页面地址,不就ok了吗。一试,还真可以。声音或者视频停止了,下次打开,页面也能够正常加载了。真是得来全不废功夫。
解决办法如下:
1. @Override
2. protected void onPause ()
3. {
4. m_WebView.reload ();
5.
6. super.onPause ();
7. }
m_WebView为Activity中的WebView控件。
2.去除list集合中重复对象
//set去重(缩减为一行)
public static void main(String[] args){
List<String> list = new ArrayList<String>();
List newList = new ArrayList(new HashSet(list));
System.out.println( "去重后的集合: " + newList);
}使用hashSet去重得到的是无序的集合
List<Item> list = new ArrayList<Item>();
list.addAll(items);
for(int i=0;i<list.size();i++){
Item item = list.get(i);
for(int j=i+1;j<list.size();j++){
if(item.getCity().equals(list.get(j).getCity()){
//删除相同对象
list.remove(item);
}
}
}循环之后得到的list为去除了重复对象的有序集合
















