У меня есть класс (представление), который расширяет LinearLayout.
Теперь я пытаюсь создать контекстное меню для каждого элемента этого класса в моей деятельности, но нет никакого способа, он никогдаfires:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
LinearLayout ll = new LinearLayout(this);
MyLinearLayout[] arrayLayout = new MyLinearLayout[num];
for (int i = 0; i < arrayLayout.length; i++)
{
//I ve removed code that fill the array and do some actions
//and then:
ll.addView(arrayLayout[i]);
registerForContextMenu(arrayLayout[i]);
}
setContentView(ll);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
Log.i(LOGTAG, "context menu");
menu.setHeaderTitle("Context Menu");
menu.add(0, v.getId(), 0, R.string.CTX_EDIT);
menu.add(0, v.getId(), 0, R.string.CTX_ELIM);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
function1(item.getItemId());
return true;
}
public void function1(int id){
Toast.makeText(this, "function 1 called", Toast.LENGTH_SHORT).show();
}
Контекстное меню никогда не отображается, я прочитал много проблем об этом, и я думаю, что это из-за расширенного класса LinearLayout, но я уверен, что есть способ сделатьэто или я что-то упустил.Может кто-нибудь помочь, пожалуйста?спасибо!