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的冲突的用法的更多相关文章

  1. Android高级控件(一)——ListView绑定CheckBox实现全选,增加和删除等功能

    Android高级控件(一)--ListView绑定CheckBox实现全选,增加和删除等功能 这个控件还是挺复杂的,也是项目中应该算是比较常用的了,所以写了一个小Demo来讲讲,主要是自定义adap ...

  2. android UI进阶之实现listview中checkbox的多选与记录

    今天继续和大家分享涉及到listview的内容.在很多时候,我们会用到listview和checkbox配合来提供给用户一些选择操作.比如在一个 清单页面,我们需要记录用户勾选了哪些条目.这个的实现并 ...

  3. 【转】android UI进阶之实现listview中checkbox的多选与记录--不错

    原文网址:http://www.cnblogs.com/notice520/archive/2012/02/17/2355415.html 今天继续和大家分享涉及到listview的内容.在很多时候, ...

  4. android 开发-ListView与ScrollView事件冲突处理(事件分发机制处理)

    ListView和ScrollView都存在滚动的效果,所以一般不建议listView和scrollView进行嵌套使用,但有些需求则需要用到两者嵌套.在android的学习中学了一种事件分发处理机制 ...

  5. Android高级控件(一)——ListView绑定CheckBox实现全选,添加和删除等功能

    Android高级控件(一)--ListView绑定CheckBox实现全选,添加和删除等功能 这个控件还是挺复杂的.也是项目中应该算是比較经常使用的了,所以写了一个小Demo来讲讲,主要是自己定义a ...

  6. Scrollerview与listview或者gridview发生冲突

    滑动冲突说实在的就是子view的滑动事件与父view的滑动事件的监听都在同时触发,而导致的activity的点击事件或者布局出问题 常见的就有Scrollerview与Scrollerview与lis ...

  7. Checkbox: ListView 与CheckBox 触发事件冲突的问题

    我相信很多人都遇到过 ListView 中放入checkBox ,会导致ListView的OnItemClickListener无效,这是怎么回事呢? 这是因为checkBox 的点击事件的优先级比L ...

  8. [置顶] android ListView包含Checkbox滑动时状态改变

    题外话: 在xamarin android的开发中基本上所有人都会遇到这个小小的坎,的确有点麻烦,当时我也折腾了好一半天,如果你能看到这篇博客,说明你和我当初也是一样的焦灼,如果你想解决掉这个小小的坎 ...

  9. ListView的CheckBox实现全部选中/不选中

    在Adapter类中定义一个HashMap列表,保存每一行是否被选中: private static HashMap<Integer, Boolean> isSelected; 可见定义了 ...

随机推荐

  1. node.js中module.export与export的区别。

    对module.exports和exports的一些理解 可能是有史以来最简单通俗易懂的有关Module.exports和exports区别的文章了. exports = module.exports ...

  2. MVC无刷新分页(即局部刷新,带搜索,页数选择,排序功能)

    我查看了很多网站,大部分评论分页都是局部刷新的,可大部分电商商品展示分页都是有刷新页面的,于是我便做了一个商品展示无刷新分页的例子.接下来我就将做一个模仿淘宝已买到的宝贝功能,不过我的是无刷新分页的. ...

  3. 学习笔记_springmvc返回值、数据写到页面、表单提交、ajax、重定向

    数据写到页面 后台往前台传数据 TestController添加 /** * 方法的返回值采用ModelAndView, new ModelAndView("index", map ...

  4. 授权其他数据库用户kill session

    授权其他数据库用户kill session kill session权限 CREATE OR REPLACE PROCEDURE P_KILL_SESSION(P_USER IN VARCHAR2, ...

  5. ExtJS笔记 Field

    Fields are used to define what a Model is. They aren't instantiated directly - instead, when we crea ...

  6. Ant和Maven的作用是什么?两者之间功能、特点有哪些区别?

    Ant和Maven都是基于Java的构建(build)工具.理论上来说,有些类似于(Unix)C中的make ,但没有make的缺陷. Ant是软件构建工具,Maven的定位是软件项目管理和理解工具. ...

  7. mysql 使用存储过程批量插数据

    #创建测试表 DROP TABLE IF EXISTS test.test; CREATE TABLE test.test( id int(10) not null auto_increment, a ...

  8. 关于MVC4.0中@Styles.Render用法与详解

    本文分享于http://keleyi.com/a/bjac/q74dybjc.htm文章,感觉写的蛮好所以就拿过来做笔记了,希望对大家有帮助 最近公司的新项目用了MVC 4.0,接下来一步步把 工作中 ...

  9. 制作手机相册 全屏滚动插件fullpage.js

    今天是端午自己做了一个小的送祝福链接  这里用到了fullpage插件 $('#container').fullpage({ navigation: false,        //navigatio ...

  10. Python开发程序:学员管理系统(mysql)

    主题:学员管理系统 需求: 用户角色,讲师\学员, 用户登陆后根据角色不同,能做的事情不同,分别如下 讲师视图: 管理班级,可创建班级,根据学员qq号把学员加入班级 可创建指定班级的上课纪录,注意一节 ...