当前位置:  编程技术>移动开发

android ListActivity显示图标实例

    来源: 互联网  发布时间:2014-10-21

    本文导语:  首先,定义列表中的每一行,这里不是用xml文件定义,而是用一个类定义,CheckBox、ImageView、TextView等控件以addView的方法添加。 代码如下://apk列表的一行class item_apk extends LinearLayout{    public CheckBox chk_apk;    public TextView txt_...

首先,定义列表中的每一行,这里不是用xml文件定义,而是用一个类定义,CheckBox、ImageView、TextView等控件以addView的方法添加。

代码如下:

//apk列表的一行
class item_apk extends LinearLayout{

    public CheckBox chk_apk;
    public TextView txt_name; 
    public TextView txt_flag;
    public ImageView img_apk;

    public item_apk(Context ctx, String item_name, String item_flag, Drawable item_draw)
    {

        super(ctx);
        this.setOrientation(HORIZONTAL);

        chk_apk = new CheckBox(ctx);
        addView(chk_apk,
                new LinearLayout.LayoutParams((int)(MainActivity.wid_scr*0.2),60));    

        img_apk = new ImageView(ctx);
        img_apk.setImageDrawable(item_draw);
        addView(img_apk,
                new LinearLayout.LayoutParams((int)(MainActivity.wid_scr*0.2),60));

        txt_name = new TextView(ctx);
        txt_name.setText(item_name);
        addView(txt_name,
                new LinearLayout.LayoutParams((int)(MainActivity.wid_scr*0.4),60));

        txt_flag = new TextView(ctx);
        txt_flag.setText(item_flag);
        addView(txt_flag,
                new LinearLayout.LayoutParams((int)(MainActivity.wid_scr*0.2),60));

     }

}

然后,是定义列表,同样,也是用一个类来定义,这里的类继承自BaseAdapter。

代码如下:

// apk列表
class list_apk extends BaseAdapter{

     private Context ctx;
            private List list_data;

    public list_apk(Context context){

        ctx = context;
        list_data = new ArrayList();

    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return list_data.size();
    }

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

    @Override
    public long getItemId(int arg0) {
        // TODO Auto-generated method stub
        return list_data.indexOf(arg0);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        item_apk my_item;

        if (convertView==null)
        { 
            my_item = new item_apk(ctx,
                    (String)list_data.get(position).txt_name.getText(),
                    (String)list_data.get(position).txt_flag.getText(),
                    list_data.get(position).img_apk.getDrawable()); 
        }
        else
        { 
            my_item = (item_apk)convertView; 
            my_item.txt_name = list_data.get(position).txt_name; 
            my_item.txt_flag = list_data.get(position).txt_flag;
            my_item.img_apk = list_data.get(position).img_apk; 
        } 
        return my_item;

    }

    public void addItem(String txt_name, String txt_flag, Drawable ico_apk)
    { 
        list_data.add(new item_apk(ctx,txt_name,txt_flag,ico_apk));                
    }

}

最后,是Activity的类,这里的Activity类的onCreate(Bundle savedInstanceState)里面没有setContentView()方法,取而代之的是setListAdapter()方法。

代码如下:

public class apk extends ListActivity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        list_apk list_ada =  new list_apk(this);

        // 包管理器
        PackageManager pm = getPackageManager();
        //获取手机内所有应用
        List pi = pm.getInstalledPackages(0);

        list_ada.addItem("应用名称",
                "是否系统应用",
                null); 

        for (int i=0; i

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Android瀑布流实例 android_waterfall
  • Android的OpenGL编程实例 Android-GL
  • android 简单图片动画播放的实例代码
  • android WakeLock使用方法代码实例
  • android自动安装apk代码实例(不使用apk安装器安装)
  • android 弹出提示框的使用(图文实例)
  • 控制Android LED灯颜色的代码实例
  • Android中AnimationDrawable使用的简单实例
  • 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥) iis7站长之家
  • Android入门之LinearLayout、AbsoluteLayout的用法实例讲解
  • android中Bitmap的放大和缩小实例代码
  • android中写一个内部类来选择文件夹中指定的图片类型实例说明
  • 怎样删除android的gallery中的图片实例说明
  • 在Android中 获取正在运行的Service 实例
  • Android根据电话号码获得联系人头像实例代码
  • Android调用默认浏览器打开指定Url的方法实例
  • android双缓冲技术实例详解
  • ANDROID 完美退出APP的实例代码
  • Android对sdcard扩展卡文件操作实例详解
  • Android 清除SharedPreferences 产生的数据(实例代码)
  • 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
  • Android系统自带样式 (android:theme)
  • Android开发需要的几点注意事项总结
  • Android网络共享软件 Android Wifi Tether
  • android 4.0 托管进程介绍及优先级和回收机制
  • 轻量级Android开发工具 Android Tools
  • Android访问与手机通讯相关类的介绍
  • Android 开发环境 Android Studio
  • Android及andriod无线网络Wifi开发的几点注意事项
  • IDEA的Android开发插件 idea-android
  • Android 2.3 下StrictMode介绍




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3