我的上下文菜单项选择不起作用

问题描述 投票:0回答:1

所以我尝试在onContextItemSelected()上放些吐司,但它们没有起作用,但在onCreateContextMenu()上却起作用了,不知道为什么它不能识别所选项目?

public void loadText(int n) {

        for (int i = 0; i < n ; i++) {
            iv = new TextView(this);
            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            layoutParams.setMargins(2, 2, 2, 2);
            iv.setLayoutParams(layoutParams);
            iv.setText(SP.getString("time" + i, def));
            iv.setTextSize(80);
            main.addView(iv);
            iv.setLongClickable(true);
            iv.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View v) {
                    registerForContextMenu(v);
                    return false;
                }
            });
        }
    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        getMenuInflater().inflate(R.menu.pop_up,menu);
    }

     @Override
    public boolean onContextItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.delete) {
            Toast.makeText(this, "works", Toast.LENGTH_SHORT).show();
        }
        else if (id == R.id.edit) {
            Toast.makeText(this, "works", Toast.LENGTH_SHORT).show();
        }
        return true;
    }
android contextmenu
1个回答
0
投票

这是菜单弹出文件

<item
    android:id="@+id/delete"
    android:title="delete"
    android:orderInCategory="0"
    />
<item
    android:id="@+id/edit"
    android:title="edit"
    android:orderInCategory="1"
    />

->

© www.soinside.com 2019 - 2024. All rights reserved.