0

Я создал listview с SimpleCursorAdapter, каждая строка содержит несколько представлений (4 textview), я хочу добавить контекстное меню в одно текстовое окно при щелчке.Добавление контекстного меню в sub view (Textview) SimpleCursorAdapter onClick

Я добавил контекстное меню в одно текстовое окно, но при щелчке по тексту оно всегда дает данные последней строки (данные текстового представления последней строки).

Как я могу исправить эту проблему, любая помощь была значительно оценена.

Ниже мой код:

В Ниже код я устанавливаю OnClick слушателя TextView, когда пользователь нажимает на текст зарегистрироваться для контекстного меню.

public View getView(int position, View convertView, ViewGroup parent) { address = (TextView) row.findViewById(R.id.host_address); 
        address = (TextView) row.findViewById(R.id.host_address); 
        address.setOnClickListener(new View.OnClickListener() { 
         @Override 
         public void onClick(View v) {       
          registerForContextMenu(address); 
          openContextMenu(address); 
          unregisterForContextMenu(address); 
         } 
        }); } 

Контекстное меню:

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { 
     super.onCreateContextMenu(menu, v, menuInfo); 

     menu.setHeaderTitle(address.getText()); 
     menu.add(0, OPEN_MAP, 0, "Open in maps"); 
     menu.add(0, COPY_ADDRESS, 1, "Copy"); 
    } 

Примечание: - ** В приведенном выше коде ** address.getText() всегда возвращает последний адрес строки.

+0

Пожалуйста, разместите код, связанный с вышеуказанной функциональностью. –

+0

без ничего не может произойти! –

+0

@RameshR добавлен код. – Joe

ответ

0

A Toolbar может использоваться как ActionBar или как автономный. Автономный режим состоит в том, что вы не устанавливаете Toolbar в качестве панели действий, поэтому вы можете использовать его как простой вид, поместить его туда, где вы хотите контролировать его.

В автономном режиме вам необходимо вручную заполнить панель инструментов контентом/действиями. Например, если вы хотите, чтобы он отображал действия, вам нужно раздуть в нем меню

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.blah); 

    Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar); 

    // Set an OnMenuItemClickListener to handle menu item clicks 
    toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener(){ 
     @Override 
     public boolean onMenuItemClick(MenuItem item) { 
      // Handle the menu item 
      return true; 
     } 
    }); 

    // Inflate a menu to be displayed in the toolbar 
    toolbar.inflateMenu(R.menu.your_toolbar_menu); 
} 
+0

Это не то, что я искал, пожалуйста, проверьте мое обновление. – Joe

 Смежные вопросы

  • Нет связанных вопросов^_^