一些常见的Android问题解决方案

android输入框内容改变的监听事件

 android输入框内容改变的监听事件一般用于比如我们常见的:登录qq时 用户名输入完整时头像自动显示,或者注册用户时实时提示注册格式是否正确等。那么我们在这里举例:判断输入框是否有内容,来改变按钮的状态,常用于搜索一类。截图如下:(布局代码不再给出)

一些常见的Android问题解决方案

首先所在的activity要 implements TextWatcher并实现其方法:

familyPhonenum.addTextChangedListener(this);

一些常见的Android问题解决方案

@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
    if (!content.isEmpty()) {
        textView.setClickable(true);
        textView.setEnabled(true);
        textView.setTextColor(Color.BLUE);
    } else {
        textView.setClickable(false);
        textView.setEnabled(false);
        textView.setTextColor(Color.GRAY);
    }
}
@Override
public void afterTextChanged(Editable s) {
}

一些常见的Android问题解决方案

Android开发listview最后一行显示下划线

 

其实很简单,android:layout_height="match_parent"
                android:minHeight="90dp"

一些常见的Android问题解决方案

只要设置这两个属性就可以了。

一些常见的Android问题解决方案

Android开发做一个简单的音乐播放器

 Android开发如何做一个简单的音乐播放器,首先我们先要知道用到的知识点有哪些。

1.MediaPlayer:可以播放本地资源、sd卡内存资源以及网络uri资源,在这里我们播放sd卡上的音乐资源.

2.Contentresolver:如何获取本地音乐资源。

3.如何通过播放/暂停/上一首/下一首/切换播放资源。

了解上述问题后,我们开始写代码:

1.获取本地音乐资源列表:

   1).读取sd卡上的内容我们需要在配置文件中添加权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>

   2).获取本地资源文件列表:

ContentResolver contentResolver=getContentResolver();
  //查询本地资源文件
 Cursor c=contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,null,null,null,null);
    if (c!=null){
            int i=0;
            while(c.moveToNext()){
                Map<String,Object> map= new HashMap<String, Object>();//存放在map中显示在listview列表
                //歌曲名
                name[i]=c.getString(c.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));
                //歌曲id
                id[i]=c.getInt(c.getColumnIndex(MediaStore.Audio.Media._ID));
                //作者
                 artical[i]=c.getString(c.getColumnIndex(MediaStore.Audio.Media.ARTIST));
                //路径
                url[i]=c.getString(c.getColumnIndex(MediaStore.Audio.Media.DATA));
                map.put("SongName", name[i]);
                map.put("id", id[i]);
                map.put("Artical", artical[i]);
                map.put("url", url[i]);
                list.add(map);
                i++;
            }

    通过上述代码就可将本地资源文件显示在listview列表中。

   3.点击播放按钮:

     点击播放按钮时,有两种可能:1).当前音乐处于暂停状态,点击播放继续播放。2).当前正在播放音乐,点击播放,音乐从头播放。设置标记量isPause=false;如果当前是处于停止状态,则继续播放:

   

if (isPause){
            mediaPlayer.start();
            isPause=false;
        }

     如果当前不是处于暂停状态,则重置当前音乐,再次播放。

    

if (mediaPlayer.isPlaying()){
                mediaPlayer.stop();
                mediaPlayer.reset();
            }
            Uri conuri= ContentUris.withAppendedId(android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,id[index]);
            mediaPlayer.setDataSource(getApplicationContext(),conuri);
            mediaPlayer.prepareAsync();
            isPause=false;

  下一首或上一首更改当前音乐标示index即可。

  

 源码:https://github.com/huangolinqing/Music1/




上一篇:quidway secpath网络地址转换(NAT)


下一篇:iOS开发学习笔记