4

我目前正在为 Android 开发一个 mp3 库。问题是,我希望用户选择他想添加的播放列表的名称(有用的 innit ?)。因此,我在播放列表列表上创建了一个上下文菜单,允许用户在 3 个选项之间进行选择,创建、删除、重命名。为什么我要做的是在用户单击“创建”时显示一个 EditText 字段,以便他可以编写新播放列表的名称。但是,我无法显示它。这是我为菜单制作的听众:

    //creation onLongClickListener : display the menu on long lick
    playlistView.setOnLongClickListener(new OnLongClickListener(){
        public boolean onLongClick(View v) {
            ((Activity) context).openContextMenu(v);
            return true;
    }});

    //contextMenuListener of the view
    playlistView.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener(){

        public void onCreateContextMenu(ContextMenu cMenu, View v, ContextMenu.ContextMenuInfo menuInfo) {
            MenuInflater inflater = ((Activity) context).getMenuInflater();
            inflater.inflate(R.menu.playlist_menu, cMenu);

            lastLongClickedView = v;
    }});

在 menu.xml 文件中,我这样做了:

<item android:id="@+id/playlist_create"
      android:title="Create a playlist"
      >
      <menu>
        <EditText
        android:id="@+id/playlist_choice"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:hint="@string/playlist_name"
        android:lines="1"
        />
      </menu>
</item>

我尝试了一个项目,它显示了,但是 EditText. 我认为我犯的错误很愚蠢,但我找不到它:(

感谢您的关注。

4

1 回答 1

2

抱歉,没办法.. 你不能在菜单中定义我们自己的视图。菜单主标签只有一个子标签,即项目。使用项目标签我们只能显示图像或字符串

于 2012-05-22T09:35:13.333 回答