4

私は現在、Android用のmp3ライブラリに取り組んでいます。つまり、ユーザーに追加したいプレイリストの名前を選んでもらいたいのです(便利なinit?)。そのため、プレイリストリストにコンテキストメニューを作成しました。これにより、ユーザーは作成、削除、名前変更の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

申し訳ありませんが、まさか..メニューで独自のビューを定義することはできません。メニューのメインタグには、アイテムという1つのサブタグしかありません。アイテムタグを使用すると、画像または文字列のみを表示できます

于 2012-05-22T09:35:13.333 に答える