Autore Topic: Il PopupMenu non è ancorato al pulsante  (Letto 313 volte)

Offline robyrocker89

  • Utente junior
  • **
  • Post: 55
  • Respect: +1
    • roberto-tucci
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Sistema operativo:
    Windows
Il PopupMenu non è ancorato al pulsante
« il: 12 Giugno 2014, 13:11:58 CEST »
0
Ciao a tutti,
Nella app a cui sto lavorando, ho necessità di inserire un pulsante sulla actionbar che richiama un popupmenu con diverse scelte. Il popupmenu è popolato dal risultato di una query (nel codice sottostante, ho semplificato molto) ma ho un problema che non riesco assolutamente a comprendere: quando vado a premere il pulsante, il menù appare in un punto totalmente sbagliato dello schermo e non riesco proprio a capire perchè!

Posto un paio di screenshot per rendere meglio l'idea (il pulsante che genera l'evento è cerchiato in rosso):




Vi posto il codice semplificato del mio popupmenu:

Codice (Java): [Seleziona]
public class MainActivity extends FragmentActivity
{
    PopupMenu select_job;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
         //...
         View view = inflater.inflate(R.layout.my_custom_layout ,null);
         select_job = new PopupMenu(this, view);
         select_job.getMenu().add("ProvaLavoro");  // risultato della query
    }

    public boolean onOptionsItemSelected(MenuItem item)
    {
        switch(item.getItemId())
        {
            case R.id.popupmenu:
                select_job.show();
                break;
        }
    }
}

Questo invece, è il my_custom_layout.xml che vado a inserire:

Codice (XML): [Seleziona]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent" >

    <TextView
       android:id="@+id/txtNameJobND"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:padding="0dp"
       android:textColor="#111"
       android:textStyle="bold"/>

</RelativeLayout>

Dove sbaglio??

Grazie!!
TimeReport: your time. In your pocket.