文档章节

续上

 易水寒521
发布于 2015/06/25 16:33
字数 787
阅读 25
收藏 0
点赞 0
评论 0

MusicListAdapter

 package com.anhui.music_player.adapter;
import java.util.List;
import com.anhui.music_player.R;
import com.anhui.music_player.model.Music;
import com.anhui.music_player.util.ToTime;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class MusicListAdapter extends BaseAdapter{
 ToTime time;
    private List<Music> listMusic;
    private Context context;
    public MusicListAdapter(Context context,List<Music> listMusic){
     this.context=context;
     this.listMusic=listMusic;
    }
 public void setListItem(List<Music> listMusic){
  this.listMusic=listMusic;
 }
 @Override
 public int getCount() {
  return listMusic.size();
 }
 @Override
 public Object getItem(int arg0) {
  return listMusic.get(arg0);
 }
 @Override
 public long getItemId(int position) {
  return position;
 }
 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
  time=new ToTime();
  if(convertView==null){
   convertView=LayoutInflater.from(context).inflate(R.layout.musiclist_item, null);
  }
  Music m=listMusic.get(position);
  //音乐名
  TextView textMusicName=(TextView) convertView.findViewById(R.id.music_item_name);
  textMusicName.setText(m.getName().subSequence(0, m.getName().length()-4));
  
  //歌手
  TextView textMusicSinger=(TextView) convertView.findViewById(R.id.music_item_singer);
  textMusicSinger.setText(m.getSinger());
    //持续时间
  TextView textMusicTime=(TextView) convertView.findViewById(R.id.music_item_time);
  textMusicTime.setText(time.toTime((int)m.getTime()));
  return convertView;
 }
}

local_music

 package com.anhui.music_player.view;

import java.util.List;
import com.anhui.music_player.R;
import com.anhui.music_player.adapter.MusicListAdapter;
import com.anhui.music_player.model.Music;
import com.anhui.music_player.util.MusicList;
import com.anhui.music_player.view.setting.about;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageView;
import android.widget.ListView;
public class local_music extends Activity {
 ImageView back;
 MusicListAdapter mla;
 ListView lv;
 List<Music> list;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  requestWindowFeature(Window.FEATURE_NO_TITLE);
  setContentView(R.layout.local_music);
  back = (ImageView) findViewById(R.id.play_back);
  lv = (ListView) findViewById(R.id.lv);
  list=MusicList.getMusicData(this);
  mla = new MusicListAdapter(this,list);
  lv.setAdapter(mla);
  back.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
    Intent intent = new Intent();
    intent.setClass(local_music.this,
      com.anhui.music_player.view.MainActivity.class);
    startActivity(intent);
   }
  });
  lv.setOnItemClickListener(new OnItemClickListener() {
   @Override
   public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
     long arg3) {
    Intent intent = new Intent();
    intent.setClass(local_music.this,
      com.anhui.music_player.view.play.class);
    intent.putExtra("musicId_1", arg2);
    startActivity(intent);
   }
  });
 }
 // 菜单选项
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // menu.add(0,1,0,"退出"); //添加选项
  // menu.add(0,2,0,"关于"); //添加选项
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }
 @SuppressLint("ShowToast")
 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
  if (item.getItemId() == R.id.exit) {
   Intent intent = new Intent("com.sleep.close");
   sendBroadcast(intent);
   dialog();
  }
  if (item.getItemId() == R.id.about) {
   Intent intent1 = new Intent(local_music.this, about.class);
   startActivity(intent1);
  }
  return super.onOptionsItemSelected(item);
 }
 protected void dialog() {
  AlertDialog.Builder builder = new Builder(local_music.this);
  builder.setMessage("确定要退出吗?");
  builder.setTitle("提示");
  builder.setPositiveButton("确认",
    new android.content.DialogInterface.OnClickListener() {
     @Override
     public void onClick(DialogInterface dialog, int which) {
      dialog.dismiss();
      // AccoutList.this.finish();
      // System.exit(1);
      android.os.Process.killProcess(android.os.Process
        .myPid());
     }
    });
  builder.setNegativeButton("取消",
    new android.content.DialogInterface.OnClickListener() {
     @Override
     public void onClick(DialogInterface dialog, int which) {
      dialog.dismiss();
     }
    });
  builder.create().show();
 }}

local_music.xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
    <RelativeLayout
        android:id="@+id/r1"
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:background="#249EF6" >
        <ImageView
            android:id="@+id/play_back"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginTop="5dp"
            android:src="@drawable/back" />
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/bflb1" />
    </RelativeLayout>
    <include
        android:id="@+id/ic"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:layout_alignParentBottom="true"
        layout="@layout/bottom" 
        />
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/r1"
        android:layout_above="@id/ic"
        android:background="#e3e3e3" >
        <ListView
            android:id="@+id/lv"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
        </ListView>
    </RelativeLayout>
</RelativeLayout>

like

 package com.anhui.music_player.view;
import com.anhui.music_player.R;

public class like extends Activity {
 ImageView back;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  requestWindowFeature(Window.FEATURE_NO_TITLE);
  setContentView(R.layout.like);
  back=(ImageView) findViewById(R.id.play_back);
  back.setOnClickListener(new OnClickListener() {
   
   @Override
   public void onClick(View v) {
    Intent intent = new Intent();
    intent.setClass(like.this,
      com.anhui.music_player.view.MainActivity.class);
    startActivity(intent);
    
   }
  });
 }
 // 菜单选项
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {

  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }
 @SuppressLint("ShowToast")
 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
  if (item.getItemId() == R.id.exit) {
   Intent intent = new Intent("com.sleep.close");
   sendBroadcast(intent);
   dialog();
  }
  if (item.getItemId() == R.id.about) {
   Intent intent1 = new Intent(like.this, about.class);
   startActivity(intent1);
  }
  return super.onOptionsItemSelected(item);
 }
 protected void dialog() {
  AlertDialog.Builder builder = new Builder(like.this);
  builder.setMessage("确定要退出吗?");
  builder.setTitle("提示");
  builder.setPositiveButton("确认",
    new android.content.DialogInterface.OnClickListener() {
     @Override
     public void onClick(DialogInterface dialog, int which) {
      dialog.dismiss();
      // AccoutList.this.finish();
      // System.exit(1);
      android.os.Process.killProcess(android.os.Process
        .myPid());
     }
    });
  builder.setNegativeButton("取消",
    new android.content.DialogInterface.OnClickListener() {
     @Override
     public void onClick(DialogInterface dialog, int which) {
      dialog.dismiss();
     }
    });
  builder.create().show();
 } 
}

like.xml

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <RelativeLayout
        android:id="@+id/r1"
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:background="#249EF6" >
        <ImageView
            android:id="@+id/play_back"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginTop="5dp"
            android:src="@drawable/back" />
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/like" />
    </RelativeLayout>
    <include
        android:id="@+id/ic"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:layout_alignParentBottom="true"
        layout="@layout/bottom" 
        />
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/ic"
        android:layout_below="@id/r1"
        android:background="#e3e3e3" >
        <ListView
            android:id="@+id/lv"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
        </ListView>
    </RelativeLayout>
</RelativeLayout>

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 129
码字总数 120077
作品 0
虹口
解读断点续传的基本原理

断点续传的理解可以分为两部分:一部分是断点,一部分是续传。断点的由来是在下载过程中,将一个下载文件分成了多个部分,同时进行多个部分一起 的下载,当某个时间点,任务被暂停了,此时下...

bengozhong ⋅ 2016/08/31 ⋅ 0

【新功能】ECS已过期实例续费变配功能上线

中国站ECS控制台,现已支持已过期的实例续费时,对实例规格进行变配。 功能特点 已过期实例续费变配与过去的续费降配有三点区别: 续费变配只可以续费同时修改实例规格配置,不可以修改带宽。...

郁苍 ⋅ 04/17 ⋅ 0

央行公示第五批第三方支付牌照续展决定,4家未通过

雷锋网(公众号:雷锋网)1月5日报道,2018年是央行第三方支付牌照发放的第7年,今日央行官网公示了第五批25家非银行支付机构《支付业务许可证》续展信息。其中有4家公司续展未通过,其余21家顺...

伊莉 ⋅ 01/05 ⋅ 0

域名状态及其意义

今天一个客户反映网站无法访问,检查服务器一切正常,查询域名发现域名状态为Domain Status: clientTransferProhibited Domain Status: clientHold英文意思好懂,可具体的含义是什么 域名状态...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

NSURLSessionDownloadTask的后台下载与断点续传

对于后台下载与断点续传相信大家肯定不会陌生,那么如果要同时实现这两种需求该怎么办呢? 使用NSURLSessionDataTask可以很轻松实现断点续传,可是有个致命的缺点就是无法进行后台下载,一点应用...

xiaobai1315 ⋅ 2016/09/21 ⋅ 0

域名注册新规明日起实施:恢复个人注册.CN域名

【TechWeb报道】5月28日消息,中国互联网络信息中心(CNNIC)今日发布公告,宣布将从明日开始实施修订后的域名注册实施细则。新则规定,.CN和.中国域名注册的主体扩大至自然人。 此次细则修订重...

oschina ⋅ 2012/05/28 ⋅ 59

微软面试、经典算法、编程艺术、红黑树4大系列总结

无私分享,造福天下 以下是本blog内的微软面试100题系列,经典算法研究系列,程序员编程艺术系列,红黑树系列4大经典原创系列作品与一些重要文章的集锦。 一、微软面试100题系列 横空出世,席...

长平狐 ⋅ 2013/01/06 ⋅ 0

一个来自Afinal断点下载BUG的解决方案

作为国内第一个Android开发框架Afinal,相信有很多开发者都知道的。虽然随着Android版本的迭代,其中有一些方法有了更好的解决办法但从来没有人怀疑Afinal的价值。 最近在做一个断点下载的功...

kymjs张涛 ⋅ 2014/12/14 ⋅ 14

android 中断点续传理解

断点续传之前我们首先需要了解http协议 断点续传简单的说,就是接着上一次的已经下载好的位置接着下载文件,如何接着以前已经下载的位置接着下载,这是我们要解决的问题. http header详解参考h...

origin ⋅ 2012/04/27 ⋅ 0

域名到期后的处理流程

域名到期后,注册局会自动为到期的域名进行续费一年,自动从注册商的账户中扣除一年的费用。注册局会给注册商一个45天的自动续费宽限期,只要在这45天内注册商发出删除这个域名的命令,注册局...

chenhai_bj ⋅ 2014/06/28 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Qt中的坑--QTreeWidget添加item 不能显示出来

QTreeWidget* pTree = ui.TreeCheckList; QTreeWidgetItem* item = new QTreeWidgetItem(pTree) ;item->setText ( 0, "test" );pTree->addTopLevelItem (item ); 原因是因为创建一个......

k91191 ⋅ 17分钟前 ⋅ 0

使用Guava的RateLimiter做限流

场景: 1. 在日常生活中,我们肯定收到过不少不少这样的短信,“京东最新优惠卷…”,“天猫送您…”。这种类型的短信是属于推广性质的短信。这种短信一般群发量会到千万级别。然而,要完成这...

wind2012 ⋅ 17分钟前 ⋅ 0

QSlider重新enterEvent

#ifndef DIALOG_H#define DIALOG_H#include <QDialog>namespace Ui {class Dialog;}class Dialog : public QDialog{ Q_OBJECTpublic: explicit Dialog(QW......

xxdd ⋅ 18分钟前 ⋅ 0

生产环境redis备份与恢复

生产环境redis备份与恢复 Tyrant0532 0人评论 1563人阅读 2018-02-01 20:34:10 redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。生产中我们主...

rootliu ⋅ 20分钟前 ⋅ 0

nginx中出现403forbidden错误

nginx “403 Forbidden” 错误 出现这个错误一般是因为以下原因: 网站禁止特定的用户访问所有内容,例:网站屏蔽某个ip访问。 访问禁止目录浏览的目录,例:设置autoindex off后访问目录。 ...

河图再现 ⋅ 20分钟前 ⋅ 0

上海云栖:金融政企行业的CDN最佳实践

摘要: 在刚刚结束的上海云栖大会飞天技术汇分论坛上,阿里云视频云产品架构师罗小飞进行了《阿里云CDN——面向金融政企的CDN最佳实践》主题分享,为上海的嘉宾介绍CDN的解决方案与技术服务体...

猫耳m ⋅ 25分钟前 ⋅ 0

docker 基本操作

docker介绍 Docker项目提供了构建在Linux内核功能之上,协同在一起的的高级工具。其目标是帮助开发和运维人员更容易地跨系统跨主机交付应用程序和他们的依赖。Docker通过Docker容器,一个安全...

haoyuehong ⋅ 26分钟前 ⋅ 0

上海云栖:金融政企行业的CDN最佳实践

摘要: 在刚刚结束的上海云栖大会飞天技术汇分论坛上,阿里云视频云产品架构师罗小飞进行了《阿里云CDN——面向金融政企的CDN最佳实践》主题分享,为上海的嘉宾介绍CDN的解决方案与技术服务体...

阿里云云栖社区 ⋅ 29分钟前 ⋅ 0

安装与配置hadoop

一、CentOS7安装 java8,参考centos7.0 安装java1.8,tomcat 二、安装hadoop 版本V3.03 1、下载并解压hadoop # mkdir /usr/local/app# mkdir /usr/local/app/hadoop# cd /usr/local/app/had......

iturtle ⋅ 30分钟前 ⋅ 0

Idea设置Serializable自动生成

File --> Settings --> Editor --> Inspections ->Serialization issues,在该项下找到“Serializable class without 'serialVersionUID' ”并勾选...

Gmupload ⋅ 33分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部