Wie kriege ich den Integer Wert eines Drawables?

  • Hallo,

    ich habe folgenden Code:

    Code
    private Drawable getIconForAccount(Account account, AccountManager manager) {
            AuthenticatorDescription[] descriptions =  manager.getAuthenticatorTypes();
            for (AuthenticatorDescription description: descriptions) {
                if (description.type.equals(account.type)) {
                    PackageManager pm = this.getApplicationContext().getPackageManager();
                    return pm.getDrawable(description.packageName, description.iconId, null);
                }
            }
            return null;
        }


    Dieser gibt ein Objekt vom Typ Drawable zurück.

    Wie kann ich denn die ID des Drawable herauslesen?

    Normalerweise kann man ein Drawable ja mit R.drawable.meindrawable aufrufen, was einen int-Wert zurückgibt.

    Wie krieg ich das denn dynamisch hin?

    Danke!

  • Hallo Verstehe nicht ganz was du willst.

    wenn du die Drawable Id anzeigen willst:

    ImageView img = (ImageView)findViewById(R.id.hierDasBild);
    img.setImageResource( id ); // id von oben getIconForAccount

    Die ID einer Resources mit haben willst:

    getResources().getIdentifier("name_des_drawable", "drawable", package_name");
    oder
    getResources().getIdentifier("name_der_resources", "Resources_Typ", getPackageName());

    3 Mal editiert, zuletzt von nono124 (20. August 2017 um 17:39)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!