Ich habe eine Textansicht mit einer HTML-Zeichenfolge mit Ankern darin. Wenn ich auf die Textansicht klicke, möchte ich zB eine Methode namens A aufrufen, und wenn ich einen Link in der Textansicht anklicke, möchte ich eine Methode namens B aufrufen. Ich habe das funktioniert, aber ich habe ein Problem: wenn ich auf einen Link klicke, Methode B wird aufgerufen, aber auch Methode A wird aufgerufen. Wie kann ich sicherstellen, dass nur Methode B und nicht B und A aufgerufen wird, wenn ich auf einen Link klicke?Textansicht onclicklistener mit Links
Mein Code:
for (int i = 0; i < ingevoegd.length(); i++) {
JSONObject soortingevoegd = ingevoegd.getJSONObject(i);
String type = soortingevoegd.getString("type");
if (type.equals("Vis")) {
String link = "<a href = 'com.aquariumzoeken.pro://Soortweergave?selected="
+ naam + "&type=Vis" + "'>" + naam + "</a>";
text = text.replaceAll(naam, link);
}
}
TextView texttv = (TextView) v.findViewById(R.id.textviewer);
texttv.setText(Html.fromHtml(text));
texttv.setMovementMethod(LinkMovementMethod.getInstance());
Und der Textview OnClickListener:
texttv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
switchToEditMode sw = new switchToEditMode();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
Vielen Dank im Voraus, Simon
Haben Sie versucht, so dass 'android: Autolink = "web"' für die Textview und nicht die LinkMovement befestigen? Ich denke, das sollte funktionieren. – Slartibartfast
Leider funktioniert das nicht. Meine Links sind auf diese Weise nicht anklickbar. – Simon
Können Sie einen Screenshot anhängen, ich finde es schwierig, das Layout zu visualisieren und warum haben Sie zwei Ereignisse beigefügt, gibt es leeren Platz an anderer Stelle im TV und das ist, wo Sie Methode B brauchen? – Slartibartfast