项目中遇到的问题:去重以及webview关闭后有声音办法

 1.使用webview浏览有声音或者视频的网页,关闭后视频跟声音不停止的解决办法

(此处为转载http://blog.youkuaiyun.com/cuizm/article/details/42342505)

此问题绝对是不能够容忍的,于是上网搜索,这一搜索不要紧,原来遇到此问题的网友还不止笔者一人。查了一番之后发现,原来此问题应该归属于Android的bug,不太好修改。对于包含视频的网页,可以下面的方法解决:

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. protected void onPause() {  
  2.     super.onPause();  
  3.   
  4.     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {  
  5.          webView.onPause(); // 暂停网页中正在播放的视频  
  6.     }  
  7. }  

但是此代码对于声音是无能为力。在网上搜索了很长时间,解决办法也很多,如:

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. web.pauseTimers();    
  2. web.stopLoading();    
  3. web.loadData("<a></a>""text/html""utf-8");  

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. Intent i = new Intent("com.android.music.musicservicecommand");   
  2. i.putExtra("command""pause");   
  3. mContext.sendBroadcast(i);  

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. web.loadData("about:blank");  

以上方法,经过笔者测试,均不好用。


  后来经过多次测试,发现一个规律,就是在finish之前,Activity被重新载的页面地址是啥,下次打开之后,还显示什么页面(因为笔者使用:web.loadData("about:blank");方法测试时,发现下次打开时,显示的是空白页面,开始以为是页面没有加载成功,后来无意中灵机一动,会不会是关闭之前加载的页面,下次打开时还是加载哪个呢?)。后来测试了一下,关闭之前加载了一下百度页面,发现下次打开时,还真是显示的百度百度页面。那就将错就错,直接重新加载当前页面地址,不就ok了吗。一试,还真可以。声音或者视频停止了,下次打开,页面也能够正常加载了。真是得来全不废功夫。

解决办法如下:

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  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为去除了重复对象的有序集合




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值