Image im Fragment setzen

  • Antworten:3
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 390

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

Diskutiere mit!
Beste Antwort
  • Forum-Beiträge: 11.158

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?
Diskutiere mit!
  • Forum-Beiträge: 390

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?
Diskutiere mit!
  • Forum-Beiträge: 11.158

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?
Diskutiere mit!