listview和checkbox的冲突的用法
package com.exaple.music; import java.util.List;
import java.util.Timer;
import java.util.TimerTask; import com.exaple.vo.Music; import android.content.Context;
import android.media.MediaPlayer;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView; public class Base extends BaseAdapter {
List<Music> list;
Context co; private useMetod muse;
private Timer timer; public Base(List<Music> list, Context co) {
super();
this.list = list;
this.co = co;
/* singletonMusic = Singleton.SingletonMusic(); */
} @Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
} @Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
} @Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return ;
} @Override
public View getView(final int position, View convertView, ViewGroup parent) { View view = null;
final ViewHolder vh;
if (convertView == null) {
view = View.inflate(co, R.layout.base, null);
vh = new ViewHolder();
vh.text = (TextView) view.findViewById(R.id.text);
vh.start = (CheckBox) view.findViewById(R.id.start);
vh.see = (SeekBar) view.findViewById(R.id.seek);
vh.time1 = (TextView) view.findViewById(R.id.texttime1);
vh.time2 = (TextView) view.findViewById(R.id.texttime2); view.setTag(vh); } else {
view = convertView;
vh = (ViewHolder) view.getTag();
}
vh.text.setText(list.get(position).getName());
vh.start.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
for (int i = ; i < list.size(); i++) {
if (i != position) {
list.get(i).setCheck(false);
muse.onstop();
notifyDataSetChanged(); }
}
boolean check = list.get(position).isCheck();
if (check) {
// 播放
muse.onplay(position);
System.out.println(position);
int long1 = Singleton.long1;
System.out.println(long1 + "=========");
vh.see.setMax(long1);
muse.seek(vh.see, vh.time1, vh.time2); } else {
muse.onstop();
MainActivity.cancelTime(); } }
});
vh.start.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) { list.get(position).setCheck(isChecked); }
});
vh.start.setChecked(list.get(position).isCheck());
// 判断状态
if (list.get(position).isCheck()) { vh.see.setVisibility(View.VISIBLE);
vh.time1.setVisibility(View.VISIBLE);
vh.time2.setVisibility(View.VISIBLE); } else {
vh.see.setVisibility(View.GONE);
vh.time1.setVisibility(View.GONE);
vh.time2.setVisibility(View.GONE);
} vh.see.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override
public void onStopTrackingTouch(SeekBar seekBar) {
if (Singleton.play != null) {
Singleton.play.seekTo(vh.see.getProgress());
muse.seek(vh.see, vh.time1, vh.time2);
} } @Override
public void onStartTrackingTouch(SeekBar seekBar) {
MainActivity.cancelTime(); } @Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub }
}); return view;
} public class ViewHolder {
TextView text;
public CheckBox start;
SeekBar see;
TextView time1, time2;
} public interface useMetod { void onplay(int position); void onstop(); void onCheck(CheckBox start); void seek(SeekBar seek, TextView text, TextView text1); } public void setIuse(useMetod usemetod) {
muse = usemetod; } }
listview和checkbox的冲突的用法的更多相关文章
- Android高级控件(一)——ListView绑定CheckBox实现全选,增加和删除等功能
Android高级控件(一)--ListView绑定CheckBox实现全选,增加和删除等功能 这个控件还是挺复杂的,也是项目中应该算是比较常用的了,所以写了一个小Demo来讲讲,主要是自定义adap ...
- android UI进阶之实现listview中checkbox的多选与记录
今天继续和大家分享涉及到listview的内容.在很多时候,我们会用到listview和checkbox配合来提供给用户一些选择操作.比如在一个 清单页面,我们需要记录用户勾选了哪些条目.这个的实现并 ...
- 【转】android UI进阶之实现listview中checkbox的多选与记录--不错
原文网址:http://www.cnblogs.com/notice520/archive/2012/02/17/2355415.html 今天继续和大家分享涉及到listview的内容.在很多时候, ...
- android 开发-ListView与ScrollView事件冲突处理(事件分发机制处理)
ListView和ScrollView都存在滚动的效果,所以一般不建议listView和scrollView进行嵌套使用,但有些需求则需要用到两者嵌套.在android的学习中学了一种事件分发处理机制 ...
- Android高级控件(一)——ListView绑定CheckBox实现全选,添加和删除等功能
Android高级控件(一)--ListView绑定CheckBox实现全选,添加和删除等功能 这个控件还是挺复杂的.也是项目中应该算是比較经常使用的了,所以写了一个小Demo来讲讲,主要是自己定义a ...
- Scrollerview与listview或者gridview发生冲突
滑动冲突说实在的就是子view的滑动事件与父view的滑动事件的监听都在同时触发,而导致的activity的点击事件或者布局出问题 常见的就有Scrollerview与Scrollerview与lis ...
- Checkbox: ListView 与CheckBox 触发事件冲突的问题
我相信很多人都遇到过 ListView 中放入checkBox ,会导致ListView的OnItemClickListener无效,这是怎么回事呢? 这是因为checkBox 的点击事件的优先级比L ...
- [置顶]
android ListView包含Checkbox滑动时状态改变
题外话: 在xamarin android的开发中基本上所有人都会遇到这个小小的坎,的确有点麻烦,当时我也折腾了好一半天,如果你能看到这篇博客,说明你和我当初也是一样的焦灼,如果你想解决掉这个小小的坎 ...
- ListView的CheckBox实现全部选中/不选中
在Adapter类中定义一个HashMap列表,保存每一行是否被选中: private static HashMap<Integer, Boolean> isSelected; 可见定义了 ...
随机推荐
- Unity3D "Library\UnityAssemblies\UnityEngine.xml" is denied错误解决方法
错误信息 Access to the path "Library\UnityAssemblies\UnityEngine.xml" is denied 无法修改改文件 Unity版 ...
- Ecshop:后台添加新功能栏目以及管理权限设置
一.添加菜单项 打开 /admin/includes/inc_menu.php文件(后台框架左边菜单),在最后添加一行如下: $modules['17_other_menu']['sns_list'] ...
- 微软的HLSL Shader Model 6.0 compiler要转向LLVM了,开源的节奏. Apple/Khronos都有各自计划
So, Microsoft is making an opensource HLSL-to-almost-LLVM compiler, and Khronos is making an opensou ...
- Thinking Of Matrix
http://blog.163.com/bzm_square/blog/static/9355546320129582254842/ PS: 一种有关于矩阵的思维方法.....WiKi 向量空间,不定 ...
- 张小龙在2017微信公开课PRO版讲了什么(附演讲实录和2016微信数据报告)
今天2017微信公开课PRO版在广州亚运城综合体育馆举行,这次2017微信公开课大会以“下一站”为主题,而此次的微信公开课的看点大家可能就集中在腾讯公司高级副总裁.微信之父——张小龙的演讲上了!今天中 ...
- 转 Netflix OSS、Spring Cloud还是Kubernetes? 都要吧!
Netflix OSS.Spring Cloud还是Kubernetes? 都要吧! http://www.infoq.com/cn/articles/netflix-oss-spring-cloud ...
- 极光推送Jpush(v3)服务端PHP版本的api脚本类
原文地址:http://www.dodobook.net/php/780 关于极光推送的上一篇文章已经说明了,此处就不多说了.使用v3版本的原因是v2使用到2014年年底就停止了.点击查看上一篇的地址 ...
- 使用css使textbox输入内容自动变大写
<style type="text/css"> input[type="text"] { text-transform:uppercase; } & ...
- java中使用 redis (转载)
jedis是一个著名的key-value存储系统,而作为其官方推荐的java版客户端jedis也非常强大和稳定,支持事务.管道及有jedis自身实现的分布式. 在这里对jedis关于事务.管道和分布式 ...
- 启用CentOS6.5 64位安装时自带的MySQL数据库服务器
本人在虚拟机上又安装了一台linux机器,作为MySQL数据库服务器用,在安装时选择了系统自带的MySQL服务器端,以下是启用步骤. 首先开启mysqld服务 #service mysqld star ...