如何将Settings中的PreferenceActivity 修改成 Activity

我们都知道设置中的设置项界面都是使用PreferenceActivity 来实现的,它是一个非常好用又方便的组件,但是有时候总会有一些奇怪的要求,我的这个是要求将settings中的WifidisplayActivity转化成自己写的Activity,因为用PreferenceActivity的布局是固定的不能添加自己想要的布局,有需求就的实现,谁叫我们是码代码的。

首先看界面:

界面非常的简单就是一个列表,显示可以连接的设备。列表项也非常简单,一个设备名称、一个状态,一个图标

第二,看源码,看了源码之后发现只有一个类WifidisplayActivity .class,心里轻松了一下,看了源码发现它主要有三种状态,一种是第一次连接,一种是二次连接,另一种是设备没有打开wifiDisplay连接,看了界面的代码发现它是通过  preferenceScreen.addPreference(createRoutePreference(route));来添加搜索设备的列表的选项,我们肯定不能通过该发式,通过一系列的尝试,我确定了整体的思路,实现创建一个适配器用于更新列表状态的改变,再创建一个实体类来保存设备的名称,状态等信息,第三个就是ListView的点击事件。

实体类:

适配器:

public class MyAdapter extends BaseAdapter{
            
            private ViewHolder holder;
            private Context mContext;
        
            
            @Override
            public int getCount() {
                // TODO Auto-generated method stub
                return wifiDevices.size();
            }

            @Override
            public Object getItem(int arg0) {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值