В настоящее время я работаю над mp3-библиотекой для Android. Дело в том, что я хочу, чтобы пользователь забирал имя плейлиста, который хотел бы добавить (полезный?). Поэтому я создал контекстное меню в списке плейлистов, которое позволяет пользователю выбирать между 3 параметрами, создавать, удалять, переименовывать. Почему я пытаюсь сделать это, чтобы отобразить поле EditText, если пользователь нажимает «создать», чтобы он мог написать имя нового плейлиста. Однако я не могу его отобразить. Вот слушатели, которые я сделал для меню:Android: отобразите 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. Я предполагаю, что ошибка, которую я делаю это довольно глупо но я не могу найти его :(
Спасибо за ваше внимание.
Пройдите через меню в android, вам не хватает некоторых основ – Sandy09