Domanda

Ho lottato per i giorni a cercare di trovare il modo corretto per implementare un ascoltatore d'azione a un listview.Quello che voglio veramente realizzare è creare un elenco di ListView e ogni volta che l'utente fa clic su qualsiasi elemento, l'attività precedente verrà commutata.Sono davvero nuovo in questo modo per favore aiutami, lo apprezzerei molto.Se puoi dirmi il che cosa sto facendo male sul mio codice che sarebbe fantastico!

Sto usando il codice di Fedor da [qui] [1].

        ///Here I tried to Implement an action listener but It doesn't work.

        list.setOnItemClickListener(new OnItemClickListener() {                                                                                                                                                             
            public void onItemClick(AdapterView<?> arg0, View arg1, int position,long id)                               
            {                                                                                                                                                                           
                if(list.getItemAtPosition(position).equals(mStrings[1]))                                                       
                {                                                                                                           
                    Intent i = new Intent(MainActivity.this, Activity2.class);                                                                                        
                    startActivity(i);                                                                                
                    }                                                                                                    
                }                                                                                                       
            });


      }
.

È stato utile?

Soluzione

È necessario ignorare onlistitemclick in tal caso.Fare riferimento a. Fare clic su Ascoltatore su ListView Per ulteriori informazioni, la soluzione è un'implementazione abbastanza buona.

Ecco una possibile implementazione che dovrebbe andare nella tua attività principale.Si prega di tenere presente che questo funzionerà solo finché si mantiene il Maineactivity Extending Attività.

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
     // Intent launcher here
}
.

Se desideri prolungare la listattività anziché l'attività in seguito e devi chiamare su OnListitemClick, farlo seguendo questo schema

Public Class YourClass estende l'elenco di elenchity implements onItemClickListener {

@Override
public void onCreate(Bundle icicle){
    super.onCreate(icicle);
    setContentView(R.layout.your_layout);

    getListView().setOnItemClickListener(this);
}

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    // your stuff here
}
}
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top