Pergunta

Eu tenho lutado para os dias tentando encontrar a maneira correta de implementar uma ação de escuta para uma ListView.O que eu realmente quero fazer é criar um ListView e, sempre que o usuário clica em qualquer item, a Atividade anterior será alternada.Eu sou muito novo para me ajudar, por favor, eu realmente aprecio muito isso.Se você pode me dizer o que eu estou fazendo de errado no meu código que deve ser incrível!

Eu estou usando o Fedor do código de [aqui][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);                                                                                
                    }                                                                                                    
                }                                                                                                       
            });


      }
Foi útil?

Solução

Você precisará substituir onListItemClick em tal caso.Consulte Clique em Escuta no ListView para obter mais ajuda, a solução é uma boa implementação.

Aqui está uma possível implementação que devem ir em sua atividade Principal.Por favor, tenha em mente que isto apenas irá funcionar, desde que você mantenha MainActivity estendendo Atividade.

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

Se você desejar estender ListActivity em vez de Actividade mais tarde e você precisa ligar para para onListItemClick, fazê-lo seguindo este esquema

classe pública YourClass se estende ListActivity implementa 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
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top