Image im Fragment setzen

  • Antworten:3
  • Bentwortet
Robbiani Renato
  • Forum-Beiträge: 609

17.09.2019, 17:56:06 via Website

Hallo zusammen

Ich möchte je nach Status der App ein anderes Bild setzen. Ich krieg es aber einfach nicht hin.

 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View rootView = inflater.inflate(R.layout.fragment_frag_mond, container, false);

    txt_mondfase_zeit = rootView.findViewById(R.id.txt_mondfase_wert);
    txt_aufgang_zeit = rootView.findViewById(R.id.txt_mond_aufgang_weert);
    txt_mondhoch_zeit = rootView.findViewById(R.id.txt_mondhoch_wert);
    txt_untergang_zeit = rootView.findViewById(R.id.txt_mond_untergang_wert);
    img_mond = rootView.findViewById(R.id.imgw_mond);

    phases = new String[9];
    phases[0] = rootView.getResources().getString(R.string.lbl_neu);
    phases[1] = rootView.getResources().getString(R.string.lbl_zunemend);
    phases[2] = rootView.getResources().getString(R.string.lbl_erstes);
    phases[3] = rootView.getResources().getString(R.string.lbl_zunamemond);
    phases[4] = rootView.getResources().getString(R.string.lbl_voll);
    phases[5] = rootView.getResources().getString(R.string.lbl_abnahmemond);
    phases[6] = rootView.getResources().getString(R.string.lbl_lezter);
    phases[7] = rootView.getResources().getString(R.string.lbl_abnahme);
    phases[8] = rootView.getResources().getString(R.string.lbl_neu);

    if(sun_new != null){
        txt_mondfase_zeit.setText(phases[sun_new.fase]);
        int n_bild = getResources().getIdentifier(@drawable/mond_4, "drawable", rootView);
        img_mond.setImageAlpha(n_bild);
        txt_aufgang_zeit.setText( sun_new.timeHHMM(resultat.rise));
        txt_mondhoch_zeit.setText(sun_new.timeHHMM(resultat.transit));
        txt_untergang_zeit.setText(sun_new.timeHHMM(resultat.set));
    }

    return rootView;
}

Wie muss ich in der Zeile "int n_bild = getResources().getIdentifier(@drawable/mond_4, "drawable", rootView);" die ID des Bildes holen und wie setze ich dies dann in meine ImageView?

Gruss Renato

Kommentieren
Beste Antwort
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

17.09.2019, 20:23:38 via Website

Hallo Renato,

was genau willst du machen?
Ein Bild aus den Drawables holen?

Dann so:

imageview.setImageResource(id);

oder

imageview.setImageDrawable(getResources().getDrawable(R.drawable.icon));

,
Oder muss es irgendwie dynamisch sein?
Ein bisschen Erklärung wäre gut :)

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
mr1000Robbiani Renato
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 609

18.09.2019, 22:05:01 via Website

Ciao Pascal

Herzlichen Dank für die schnelle Antwort.
Genau das wollte ich hören. So geht es. Bisher habe ich immer nur Strings geholt. Da geht es bei Bildern halt ewas anders.

Gruss Renato

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

18.09.2019, 22:30:06 via Website

Ja schön :)

Allerdings sind das Probleme die man in eigenrecherche in 2 Minuten gefunden hat.
Damit ist dir vermutlich auch schneller geholfen ;)

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Rafael K.
Kommentieren