Android Codefrage zu strings

  • Antworten:28
Philipp Hörig
  • Forum-Beiträge: 106

20.11.2014, 19:41:00 via Website

Hallo liebe Forum Mitglieder, ich habe eine Android Frage an euch u.z wie kann ich diese beiden Script Teile kombinieren ?

final string[] myNames = { };

img.setImageResource(R.drawable.my_image);

Lg Philipp // Never touch a bugging system :)

Antworten
Rexxar
  • Forum-Beiträge: 2.563

20.11.2014, 20:05:02 via App

String derneuestring = img.getImageResource.ToString() + mynames;
Falls das nicht klappt das ganze mal in Anführungszeichen setzen, ich habe Den Code nicht getestet.

— geändert am 20.11.2014, 20:05:14

Liebe Grüße, Rexxar :)
Moto Z Play Stock
Nvidia Shield Tablet K1
http://www.androidpit.de/forum/634540/allgemeines-faq-fuer-neulinge

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.957

20.11.2014, 20:07:23 via Website

Hallo Philipp,

wenn Du Ressourcen so ein setzen willst müssen sie vom Type Integer sein hier nen Fallbeispiel.

ImageView image = (ImageView) findViewById(R.id.imageView1);
final int[] draw = {R.drawable.app};
image.setImageResource(draw[0]);

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
Philipp Hörig
  • Forum-Beiträge: 106

20.11.2014, 20:28:13 via Website

Habe ich ja gemacht meine Frage ist halt wie kann ich das wie hier : final string[] myNames = {Hallo, test }; kombinieren ?
Ich möchte in die klammern irgend wie das rein schreiben : img.setImageResource(R.drawable.my_image);

Lg Philipp // Never touch a bugging system :)

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

20.11.2014, 20:56:32 via App

Was soll denn das ganze bringen?!
Ich sehe hier nur sinnfreien Code.
Du kannst keine ImageView Resource in einem String verwenden...
Das geht schlicht und einfach nicht. Wenn du uns erklärst was du vorhadt, können wir dir vlt. helfen.

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

Antworten
Fabian
  • Forum-Beiträge: 144

20.11.2014, 21:38:44 via App

Sehe ich genau wie Pascal. Hier wird nur sinnloser Code geschrieben und ich verstehe nicht was du eigentlich willst? Du willst irgendwas machen und schreibst dann Code der eigentlich nichts aussagt.

Schreib doch nochmal bitte genau was du machen willst, ohne Code wenns geht. :)

Grüße Fabian!

Antworten
Philipp Hörig
  • Forum-Beiträge: 106

21.11.2014, 14:54:37 via Website

Also ich möchte eine Random Funktion habe die ein Bild wechselt.

Code den ich habe:

final ImageView img = (ImageView) findViewById(R.id.image);


        final string[] myNames = { hier sollen die bilder (code frage von oben) rein };

        final int rando = (int) (Math.random() * 4);

Lg Philipp // Never touch a bugging system :)

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

21.11.2014, 15:37:29 via Website

Hallo Phillip,
Hier mal eine Antwort auf deine Frage: http://stackoverflow.com/questions/20008842/how-to-make-random-images-load-in-imageview-android
Trotzdem verstehe ich nicht warum daein Bilder Array vom Typ String sein muss/soll.
Resources/Drawables sind im Code eigentlich integer Zahlen.

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

Antworten
Philipp Hörig
  • Forum-Beiträge: 106

23.11.2014, 12:18:33 via Website

Danke, aber jetzt erkennt er nicht die Bilder warum ?

int[] images = [R.drawable.bild1, R.drawable.bild2];

Ich habe die Bilder im drawable-hdpi Ordner.

Lg Philipp // Never touch a bugging system :)

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.957

23.11.2014, 12:20:06 via Website

Hallo Philipp Hörig,

Du verwendest die falschen Klammern


Richtig

int[] images = { R.drawable.bild1, R.drawable.bild2 };


Falsch

int[] images = [R.drawable.bild1, R.drawable.bild2];

— geändert am 23.11.2014, 12:20:31

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
Philipp Hörig
  • Forum-Beiträge: 106

23.11.2014, 12:28:01 via Website

Es geht immer noch nicht ! :(

int[] images = { R.drawable.bild1, R.drawable.bild2};

Lg Philipp // Never touch a bugging system :)

Antworten
Philipp Hörig
  • Forum-Beiträge: 106

23.11.2014, 12:28:57 via Website

Ok geht hatte ein anderen Fehler

— geändert am 23.11.2014, 12:29:08

Lg Philipp // Never touch a bugging system :)

Antworten
Philipp Hörig
  • Forum-Beiträge: 106

23.11.2014, 14:00:36 via Website

Ich habe jetzt noch eine kleine Frage u.z ich möchte das der Text sich immer um eins erhöht wie kann ich das machen ?

Code:

TextView anzeige =(TextView)findViewById(R.id.anzeige);

anzeige.setText = +1 ;

Lg Philipp :)

Lg Philipp // Never touch a bugging system :)

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

23.11.2014, 14:04:12 via App

Dafür brauchst du einen Counter als Integer:
int counter =0
TextView txt = [...];
counter++;//um 1 erhöhen
txt.setText(String.valueOf(counter));

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

Antworten
Philipp Hörig
  • Forum-Beiträge: 106

23.11.2014, 14:20:57 via Website

Bei mir wird aber die Zahl nur einmal erhöht :(

public void test (View v) {
int counter = 0;
TextView txt =(TextView)findViewById(R.id.anzeige);;
counter++;//um 1 erhöhen
txt.setText(String.valueOf(counter));
}

Lg Philipp:)

Lg Philipp // Never touch a bugging system :)

Antworten
Stefan
  • Forum-Beiträge: 1.560

23.11.2014, 14:23:36 via App

Weil du den counter ja auch immer wieder auf Null setzt.

ALLERGIKERINFO:
Beiträge können Spuren von Humor, Ironie, Sarkasmus und Erdnüssen enthalten.

Antworten
Philipp Hörig
  • Forum-Beiträge: 106

23.11.2014, 14:31:33 via Website

Ups -.-

— geändert am 23.11.2014, 14:38:40

Lg Philipp // Never touch a bugging system :)

Antworten
Philipp Hörig
  • Forum-Beiträge: 106

23.11.2014, 18:42:10 via Website

Sorry leute für die vielen Fragen aber wie kann ich eine If schreiben die abfragt ob ein bestimmtes Bild gerade im ImageView ist ?

Lg Philipp // Never touch a bugging system :)

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

23.11.2014, 18:49:15 via Website

Also direkt bekommt man das nicht raus.
Du kanst als zusatz die imageRes im ImageView Tag speichern um zu wissen, welches bild gerade activ ist.
Etwa so: http://stackoverflow.com/questions/18001903/get-resource-id-from-imageview

LG Pascal

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

Antworten
Philipp Hörig
  • Forum-Beiträge: 106

23.11.2014, 18:54:37 via Website

Kann man das nicht irgent wie so schreiben ?

if(ImageView.Image = bild.png) {

}

Lg Philipp // Never touch a bugging system :)

Antworten
Sven R.
  • Forum-Beiträge: 1.904

23.11.2014, 19:15:38 via App

Philipp Hörig

Kann man das nicht irgent wie so schreiben ?

if(ImageView.Image = bild.png) {

}

Nein. Wäre vom Syntax her komisch und unmöglich.

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten
Sven R.
  • Forum-Beiträge: 1.904

24.11.2014, 15:30:18 via App

Ja. Das ist eine schöne Lösung mit dem Tag.
Edit: Natürlich kannst auch einzeln zählen, aber an das ImageView ist das gut.

— geändert am 24.11.2014, 15:31:18

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten
Sven R.
  • Forum-Beiträge: 1.904

24.11.2014, 17:43:39 via App

Das Prinzip: Im Tag des ImageViews Informationen zum Bild speichern.

 imageView.setTag("bla");

setzt den Tag. (selbsterklärend)

Wir nutzen diesen String, der an das View gebunden ist.
Btw hat glaube ich jedes View einen Tag.

Zur Identifikation des Bildes nutzen wir die RessourceId. Beim Setzen des Bildes, setzen wir gleichzeitig den Tag. Also

view.setPictureOderSoAehnlich(...);
view.setTag(ressourceId);

So wissen wir bei

imageView.getTag();

welche RessourceId hinter dem Bild steckt.

Wir können natürlich auch die Bilder durchnumerieren. Dieser Fall könnte eintreten, wenn wir zum Beispiel Bilder aus dem Internet dynamisch laden.
Beim Setzen des Bildes, setzen wir einfach den Tag auf die Nummer des Bildes. Natürlich muss das ein String sein.

view.setPictureOderSoAehnlich(...);
view.setTag(bildNummer);

Ich hoffe du hast das Prinzip verstanden. Bei Fragen zur Umsetzung helfe ich gerne.

— geändert am 24.11.2014, 17:45:22

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten
Philipp Hörig
  • Forum-Beiträge: 106

25.11.2014, 18:31:07 via Website

Ok erst mal danke für die Antwort...

Weißt du oder die anderen wie ich eine generierte Random number rausbekomme weil dann kann ich das etwas einfacher Programmieren ?

Am besten gleich in ner If wenn es geht

Lg Philipp :).

Danke für die Hilfe im voraus :).

Lg Philipp // Never touch a bugging system :)

Antworten
Sven R.
  • Forum-Beiträge: 1.904

25.11.2014, 19:53:55 via App

Philipp Hörig

Am besten gleich in ner If wenn es geht

Ja, ich schicke dir nachher die komplette App.

Ähhhh, ne. Bisschen Eigenanteil wäre gut von dir.

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten