Android打开上下文菜单后点击按钮



我想打开上下文菜单,当我点击一个按钮,但我也必须知道哪个列表项是重点,当我点击按钮。你知道怎么做吗?onclick方法中的代码应该是什么?

我正在寻找相同的,并发现,而不是上下文菜单,你应该使用对话框

final CharSequence[] items = {"Red", "Green", "Blue"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
builder.setItems(items, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int item) {
        Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
    }
});
AlertDialog alert = builder.create();
alert.show();

http://developer.android.com/guide/topics/ui/dialogs.html AlertDialog

如果你出于某种原因真的想做这件事…(在我的情况下,出于懒惰)

在活动的onCreate期间或在用户可以触摸按钮之前的某个地方,在该按钮上执行registerForContextMenu。然后在实际的按钮onClick处理程序中,调用openContextMenu(View)

例如,我有一个在xml中声明的按钮,如
<Button
    android:id="@+id/btn_help"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="onHelp"
    android:text="@string/help_btn_text" />

in my onCreate

registerForContextMenu(findViewById(R.id.btn_help));

和in onHelp函数

public void onHelp(View v) {
    openContextMenu(v);
}

这个可以工作,因为View v与注册为上下文菜单的视图相同。

首先,您应该通过调用registerForContextMenu(view view)来注册视图。其次,重写onCreateContextMenu()来添加菜单,最后,重写onContextItemSelected()来为每个菜单添加逻辑。

首先,您应该知道为什么应该使用ContextMenu。View的ContextMenu功能类似于PC上的右键菜单,表示对某项的"可用操作"。

根据您的描述,我认为您实际需要的是一个带有列表的自定义对话框,该对话框在单击按钮时显示,并且还能够获得您的ListView的焦点项目。然后你可以保存ContextMenu的注册为一些视图,确实需要菜单:)

相关内容

  • 没有找到相关文章

最新更新