Android 扩展线性布局视图上的关联菜单

Android 扩展线性布局视图上的关联菜单,android,contextmenu,Android,Contextmenu,我有一个扩展LinearLayout的类(视图) 现在,我试图为活动中该类的每个元素创建上下文菜单,但没有办法,它永远不会触发: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout ll = new LinearLayout(this); MyLinearLayout[] arrayLayout = new MyLinear

我有一个扩展LinearLayout的类(视图)

现在,我试图为活动中该类的每个元素创建上下文菜单,但没有办法,它永远不会触发:

 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();
}
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
LinearLayout ll=新的LinearLayout(本);
MyLinearLayout[]arrayLayout=新的MyLinearLayout[num];
for(int i=0;i

上下文菜单从未显示,我读过很多关于它的问题,我认为这是因为LinearLayout扩展类,但我确信有一种方法可以做到这一点,或者我遗漏了一些东西。有人能帮忙吗?谢谢

您正在创建MyLinearLayout的空数组:
arrayLayout=new MyLinearLayout[num]

然后,您尝试使用以下内容设置关联菜单:

registerForContextMenu(arrayLayout[i])

因为
arrayLayout[i]
null

不,可能我没有解释清楚。我已经编辑了代码,其中我有“//填充数组并执行一些操作”我删除了一些填充数组并为该元素创建一些信息的代码。无论如何,在活动中,当测试时,它会显示元素,但上下文菜单从不激发。