Контекстное меню Android из списков - PullRequest
3 голосов
/ 13 июля 2010

Я новичок в разработке для Android и не очень хорош в программировании в целом, но я работаю над макетом вкладок, который имеет просмотр списка на вкладку.Каждая вкладка имеет свой собственный файл Java.В настоящее время я пытаюсь добавить контекстное меню, которое при щелчке (не долгое нажатие) на элементе в моем списке просмотра вызывает меню, чтобы я мог выбрать опцию.Прямо сейчас это просто показывает тост, отображающий название элемента, на который я нажал.Параметры просмотра списка в настоящее время добавляются в список с помощью объявления локальной строки, вот пример одной из моих вкладок:

public class AlbumTab extends ListActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
      final String[] CDExplorer_tabs = new String[] {"Client Heirarchy", "Territory", "Sales Credit", "Admin", "General Search"};
      super.onCreate(savedInstanceState);

      setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, CDExplorer_tabs));

      ListView lv = getListView();
      lv.setTextFilterEnabled(true);

      lv.setOnItemClickListener(new OnItemClickListener() 
      {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) 
        {

          Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
              Toast.LENGTH_SHORT).show();
        }
      });
    }

я должен был бы создать другой массив строк для каждого меню, которое я хочу открыть, и такподключить его к другой строке?Или делать ли операторы, которые решают, какое меню всплыть, на основании какого элемента списка щелкнули?

1 Ответ

0 голосов
/ 23 августа 2010

Во-первых, если вы хотите, чтобы в каждой части списка было свое меню, сделайте в свой onItemClick () оператор switch, который зависит от вашей позиции. switch(position){ //cases and such

Тогда вместо вложенного ListView вы можете попробовать AlertDialog . Поиск для добавления списка. И затем реализовать это для каждой позиции в вашем списке. Затем убедитесь, что вы внедрили еще один переключатель внутри функции DialogInterface onClick для вызова функции, которая делает то, что вам нужно делать из списка .// Также убедитесь, что alert.show () ;.

Это была бы моя рекомендация, если вы хотите это сделать. Однако, если вы хотите сделать вложенные списки, это более сложно, но возможно.

То, что вам нужно, это реализовать собственный адаптер списка для вашего списка. И создайте держатель представления для каждого, который содержит другое представление списка. Хорошим примером для этого является здесь .

Это должно в значительной степени сделать это. Имейте в виду, что если вы решите сделать вложенный просмотр списка, то внутри этого просмотра списка будет очень тесно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...