Я создаю свой пользовательский компонент, в котором я хочу иметь контекстное меню.До сих пор я успешно создал и показал контекстное меню, выполнив следующее:
public class CustomComponent extends LinearLayout implements OnClickListener, OnCreateContextMenuListener {
private final MenuInflater menuInflator;
public CustomComponent(final Context context) {
this(context, null);
}
public CustomComponent(final Context context, final AttributeSet attrs) {
super(context, attrs);
menuInflator = new MenuInflater(context);
final LayoutInflater inf = LayoutInflater.from(context);
inf.inflate(R.layout.component, this, true);
setOnClickListener(this);
setOnCreateContextMenuListener(this);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
menuInflator.inflate(R.menu.menu_context, menu);
}
@Override
public void onClick(View v) {
showContextMenu();
}
}
Проблема, с которой я столкнулся сейчас, заключается в том, что я не знаю, как получитьФункция onContextItemSelected (), вызываемая внутри этого компонента.Я просматривал какой-то источник в Activity и заметил, что у него есть член mWindow, который содержит эти обратные вызовы.Я не совсем уверен, возможно ли это так.Есть предложения?