TextView "genauer" auslesen

  • Antworten:9
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 5

07.06.2014, 19:35:18 via Website

Hallo. Ich habe folgendes Problem: ich versuche eine TextView auslesen. Aber nicht ganz normal (das ganze mit dem getText().toString().equals() kenn ich schon), sondern dass z.B. wenn eines von mehreren Wörtern in der TextView "Hannes" ist, eine Aktion passiert. Ich habe das mal so probiert:

if(tv.getText().toString().equals((tv.length() >= 0) + "Hannes" + (tv.length() >= 0))){...}

Die Idee war, zuerst kommt beliebig viel Text, dann kommt das Wort, und dann wieder beliebig viel Text. Das hat aber leider nicht funktioniert. Meine Frage: geht das überhaupt und wenn ja, wie? Danke!

Antworten
  • Forum-Beiträge: 5

07.06.2014, 20:07:26 via Website

Da es bereits 20 angeschaut haben und keiner was gesagt hat, halte ich das für ein Nein...:'(

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.640

07.06.2014, 20:14:13 via App

[Code]
String text = tv.getText().toString;
String[] teil = text.split ("Hannes" );
String fertig = text[0] + "Hannes" + text[1]
[/Code]

Hannes Annemarie

Da es bereits 20 angeschaut haben und keiner was gesagt hat, halte ich das für ein Nein...:'(

Für diese Forum sind 20 nichts.

P.s. Wieso wir mein Code nicht mehr durch [code][/Code] erkannt?

— geändert am 07.06.2014, 20:17:32

Ich sammle gerne Namen in meinem Death Note.

Samsung Galaxy Note 2<3 -> Samsung Galaxy Note 3 <3

Antworten
  • Forum-Beiträge: 5

07.06.2014, 21:00:14 via Website

Ich bin neu hier, konnte ich ja nicht wissen dass hier viel los ist ;)

Ich habe das mal so probiert:
[CODE]
String text = tv.getText().toString();
String[] teil = text.split("Hans";);
String fertig;
if(teil.equals("Hans";)){
fertig = "hans";
loadweb.loadUrl(fertig);
}
[/CODE]
Das ganze steht in "OnListItemClick". Das blöde ist, dass meine WebView nun gar keine Website ausgespuckt hat, egal, ob die TextView "Hans" oder nicht "Hans" angezeigt hat. Hab ich deinen Code falsch angewendet?

PS: bei fertig = "hans" steht normalerweise ein Link, den ich leider nicht schreiben darf, weil ich neuer User bin:(

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.640

07.06.2014, 21:09:41 via App

lade die Seite lieber 2x. einmal zum ausgeben der seite und einmal zum durchsuchen

Ich sammle gerne Namen in meinem Death Note.

Samsung Galaxy Note 2<3 -> Samsung Galaxy Note 3 <3

Antworten
  • Forum-Beiträge: 5

07.06.2014, 21:16:08 via Website

Sry des überfordert mich jetz iwie. Was meinst du mit zweimal laden? ich habe jetzt einfach zweimal den Befehl gegeben, die Website zu laden, es hat sich aber nix geändert. Ach ja, bevor jemand anfängt über meine Codes zu lachen: ich programmiere erst seit Ende März 2014!! Also bin ich noch "Frischling":angel:

Wie ich deine Idee verstanden habe: bei dir ist "String teil" ja nicht "Hans", sondern der Text der TextView OHNE "Hans". Ich hätte aber gerne "Hans" als Ergebnis. Der restliche Text der TextView ändert sich ständig. Daher nützt mir das recht wenig. Vielleicht habe ich auch nicht eindeutig geäußert, was ich zu erreichen suche:
Ich habe eine ListView, in der jedes einzelne Item aktuelle News über z.B. Hans, Fred oder Inge anzeigt. Durch einen Klick auf ein Item soll sich eine WebView öffnen (was mit einem dauerhaft gleichen Link auch klappt). Dabei soll, wenn in der TextView "Hans" steht, eine Website mit Infos über Hans geöffnet werden, bei "Fred" mit Infos über Fred,... Und deshalb versuche ich, nur festzustellen, ob dieser Name in der TextView enthalten ist.

— geändert am 07.06.2014, 21:33:19

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.640

07.06.2014, 21:25:01 via App

Naja, ich weiß selbst nicht, wie man webseiten lädt.
Ich dachte daran, den Text der fertig geladenen Webseite zu kopieren, und diesen dann zu filtern.

Ich sammle gerne Namen in meinem Death Note.

Samsung Galaxy Note 2<3 -> Samsung Galaxy Note 3 <3

Antworten
  • Forum-Beiträge: 272

08.06.2014, 11:31:46 via Website

Hannes Annemarie

Ich bin neu hier, konnte ich ja nicht wissen dass hier viel los ist ;)

Ich habe das mal so probiert:
[CODE]
String text = tv.getText().toString();
String[] teil = text.split("Hans";);
String fertig;
if(teil.equals("Hans";)){
fertig = "hans";
loadweb.loadUrl(fertig);
}
[/CODE]
Das ganze steht in "OnListItemClick". Das blöde ist, dass meine WebView nun gar keine Website ausgespuckt hat, egal, ob die TextView "Hans" oder nicht "Hans" angezeigt hat. Hab ich deinen Code falsch angewendet?

PS: bei fertig = "hans" steht normalerweise ein Link, den ich leider nicht schreiben darf, weil ich neuer User bin:(

Du muss eine if-Schleife und dann die if-Schleife bilden, wenn du einen Array vergleichst, so funktioniert es nicht.

Antworten
  • Forum-Beiträge: 76

08.06.2014, 15:20:30 via Website

Also wenn du tatsächlich nur wissen willst ob "Hans" in einer Zeichenkette vorkommt, dann würde ja die Methode "indexOf" aus der Klasse "String" ausreichen..

Beispiel:

String example = "Das ist ein Beispieltext für Hans";
if (example.indexOf("Hans";) >= 0){
// ist enthalten
}

oder die Methode "contains".

Beispiel:

String example = "Das ist ein Beispieltext für Hans";
if (example.contains("Hans";)){
// ist enthalten
}

— geändert am 08.06.2014, 15:21:18

Antworten

Empfohlene Artikel