0

Ich habe Listenansicht mit SimpleCursorAdapter erstellt jede Zeile enthält mehrere Ansichten (4 Textansicht), ich möchte das Kontextmenü zu einem der Textansicht auf klicken.Hinzufügen von Kontextmenü zur Unteransicht (Textview) von SimpleCursorAdapter onClick

Ich habe das Kontextmenü zu einer Textansicht hinzugefügt, aber beim Klick auf Textansicht gibt es immer Daten der letzten Zeile (Daten der Textansicht der letzten Zeile).

Wie kann ich dieses Problem beheben jede Hilfe sehr geschätzt.

Unten ist mein Code:

In Below Code Ich gründe OnClick Hörer Textview, wenn Benutzer klicken Sie auf Text, den ich für Kontextmenü registrieren.

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); 
         } 
        }); } 

Kontextmenü:

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"); 
    } 

Hinweis: - ** In dem obigen Code ** address.getText() immer wieder zurückkehren letzte Zeilenadresse.

+0

Bitte geben Sie den Code für die oben genannten Funktionen. –

+0

ohne dass nichts passieren kann! –

+0

@RameshR Code hinzugefügt. – Joe

Antwort

0

Ein Toolbar könnte als ActionBar oder als Standalone verwendet werden. Standalone-Modus ist, dass Sie nicht die Toolbar als Ihre Aktionsleiste fungieren, so dass Sie es als eine einfache Ansicht verwenden können, legen Sie es, wo immer Sie die Kontrolle darüber haben möchten.

Im Standalone-Modus müssen Sie die Symbolleiste manuell mit Inhalten/Aktionen füllen. Zum Beispiel, wenn Sie wollen, dass Aktionen angezeigt werden, müssen Sie ein Menü in es aufblasen

@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

Das ist nicht was ich gesucht habe, Bitte überprüfen Sie mein Update. – Joe

Verwandte Themen