0

我有一个列表视图,其中包含图像和每行 2 行。在第一行中,我有一个简单的文本存储在一个数组中,第二行也是,但我想知道它如何动态更改第二行与已安装或未安装的应用程序状态。

这是代码:

字符串 [] 工具 = 新字符串 [] {“工具 1”、“工具 2”、“工具 3”、“工具 4”、“工具 5”};

    // Array integer que apunta a las imagenes en /res/drawable-ldpi/
    int[] flags = new int[]{
            R.drawable.image1,
            R.drawable.image2,
            R.drawable.image3,
            R.drawable.image4,
            R.drawable.image5
    };

    // Array string donde van la descripcion
    String[] status = new String[]{
        "Status",
        "Status",
        "Status",
        "Status",
        "Status"

    };


    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.anonimato);        

        List<HashMap<String,String>> aList = new ArrayList<HashMap<String,String>>();        

        for(int i=0;i<5;i++){
            HashMap<String, String> hm = new HashMap<String,String>();
            hm.put("txt", tools[i]);
            hm.put("cur", status[i]);
            hm.put("flag", Integer.toString(flags[i]) );            
            aList.add(hm);        
        }

        String[] from = { "flag","txt","cur" };
        int[] to = { R.id.flag,R.id.txt,R.id.cur};        
        SimpleAdapter adapter = new SimpleAdapter(getBaseContext(), aList, R.layout.listview_layout, from, to);

使用此链接如何以编程方式检查应用程序是否已在 Android 中安装?我有知道应用程序是否安装的功能,但我如何将它加载到状态数组中?以及如何将其添加到我的源中?

4

1 回答 1

1

首先,您将应用安装状态的值设置为您的数组。就像,

String statustext=IfAppinstalled();// assuming IfAppinstalled() is the function to get status.

现在将此值设置为您的数组,例如,

status[1]=statustext;

并将其设置为您的列表视图,

这是检查应用程序是否安装的代码,

private boolean appInstalledOrNot(String uri)
    {
        PackageManager pm = getPackageManager();
        boolean app_installed = false;
        try
        {
               pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
               app_installed = true;
        }
        catch (PackageManager.NameNotFoundException e)
        {
               app_installed = false;
        }
        return app_installed ;
}

并称之为,

 boolean installed  =   appInstalledOrNot("com.Ch.Example.pack");  
        if(installed)
        {

          //its installed, do ur stuff

        }
        else
        {
            //its not installed, do ur stuff
        }
于 2013-05-30T12:26:59.813 回答