私は現在、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です。私が犯している間違いはかなりばかげていると思いますが、それを見つけることができません:(
ご清聴ありがとうございました。