Ich blase zuerst ein Layout auf und füge später eine Ansicht hinzu, indem ich addView() verwende. Das Layout hat einen OnLongClickListener angehängt.
Wenn ich jetzt einen OnClickListener zur inneren Ansicht hinzufüge, wird der OnLongClickListener nicht mehr ausgelöst. Wie kann ich das beheben?
Beispielcode:
View someLayout = getLayoutInflater().inflate(R.layout.some_layout, null);
someLayout.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View arg0) {
...
return true;
}
});
TextView innerView = new TextView(this);
innerView.setText("JustSomeTextThatDoesNotMatter");
innerView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
...
);
}
});
((FrameLayout) view.findViewById(R.id.framelayout)).addView(innerView);
Layout
Ideen? Das scheint wirklich seltsam zu sein.
Aktualisierung: Das Gleiche passiert, wenn ich anstelle eines onLongClickListeners einen onTouchListener verwende, der OnClickListener in der inneren Ansicht verbraucht alle Touch-Ereignisse.
Ist das so beabsichtigt? Im Grunde möchte ich die gleiche Funktionalität, die das Contextmenü für eine ListView bietet.