0

画像と行ごとに2行のリストビューがあります。最初の行には配列に格納された単純なテキストがあり、2 行目も同様ですが、2 行目をインストール済みまたは非アプリのステータスで動的に変更する方法を知りたいです。

これはコードです:

String[] tools = new String[] { "ツール 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

まず、app installed status の値を配列に設定します。同様に、

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 に答える