Dúvida em um método - Help!

12 respostas
Seken

Boa Noite,

Estava seguindo um tutorial e fiz todos os passos corretamente. Embora tenha 1 metodo que esta dando problema e não sei o que pode ser para resolve-lo.

lista.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView argO, View arg1, int arg2,long arg3){

o AdapterView está pedindo um parametro, só que não sei o que ele está pedindo. No tutorial que estou seguindo o código está do mesmo jeito que acima.

“Essa aplicação consiste em uma lista telefônica já pronta com contatos. Quando selecionamos
um contato, ele mostra na tela uma mensagem com o nome selecionado.”

12 Respostas

Filipe_A

lista.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView argO, View arg1, int arg2,long arg3){

Boa Noite!

Este código tá meio estranho… Pode colocar o resto do programa?

Eu nunca vi um parametro de um método no caso do ‘setOnItemClickListener’ receber o que ele ta recebendo… será que não falta um parenteses? Tipo:

lista.setOnItemClickListener(new OnItemClickListener() ) <-aqui. { public void onItemClick(AdapterView argO, View arg1, int arg2,long arg3) {

E mesmo assim ainda ta confuso rs. Boa Sorte!

Seken

O código abaixo é exatamente o mesmo que está no tutorial só que não consigo rodar

package br.com.android;

import android.app.Activity;
import android.os.Bundle;
import android.app.*;
import android.view.*;
import android.widget.*;
import android.widget.AdapterView.OnItemClickListener;


public class AppLista extends Activity {
	/** Called when the activity is first created. */
	public ListView lista;
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,contatos);
        lista = (ListView) findViewById(R.id.lstcontatos);
        lista.setAdapter(adapter);
        lista.setOnItemClickListener(new OnItemClickListener() {
        	public void onItemClick(AdapterView argO, View arg1, int arg2,long arg3){
        		if (lista.getSelectedItem() != null){
        			AlertDialog.Builder dialogo = new AlertDialog.Builder(AppLista.this);
        			dialogo.setTitle("Contato selecionado");
        			dialogo.setMessage(lista.getSelectedItem().toString());
        			dialogo.setNeutralButton("ok", null);
        			dialogo.show();
        		}}   	
		});
    }
    	static final String[] contatos = new String[] {
    		"Alline", "Lucas", "Rafael", "Tales", "Vilma", "Janio"
    	};
}
Filipe_A

Dá pra postar o erro?

Seken

Multiple markers at this line
- implements android.widget.AdapterView.OnItemClickListner.onItemClick
- AdapterView is a raw type, References to generic type AdapterView should be parameterized
- AdapterView is a raw type, References to generic type AdapterView should be parameterized

Filipe_A

Esse é o erro do console? Ou não tem console?

Seken

Deu essa notificação no Eclipse. Quando tento rodar a aplicação abre o emulador e exibe uma mensagem de erro.

Filipe_A

Qual é essa msg que exibe dá pra postar?

Seken

The application Lista de contatos (process br.com.android) has stopped unexpectedly. Please try again.

Aparece essa mensagem todas as vezes que possui algum problema no código e eu mando executar o programa.

Filipe_A

Essa mensagem de erro ai ta de brincadeira :lol:

Não sei o que pode ser… :frowning:

Filipe_A

Tenta isso:

... lista.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> <- ISSO AQUI argO, View arg1, int arg2,long arg3){ if (lista.getSelectedItem() != null){ AlertDialog.Builder dialogo = new AlertDialog.Builder(AppLista.this); dialogo.setTitle("Contato selecionado"); dialogo.setMessage(lista.getSelectedItem().toString()); dialogo.setNeutralButton("ok", null); dialogo.show(); }} }); ...

Seken

Não deu … vou tentar refazer esse aplicação de outra maneira.

Obrigado pela ajuda.

Marky.Vasconcelos

Antes de tentar refazer, va no Eclipse em Window > Show View… Other… e escolha Logcat, é onde voce vai ver os logs. Assim que voce não tiver apenas esse erro generico, volte aqui. :wink:

Criado 22 de agosto de 2011
Ultima resposta 23 de ago. de 2011
Respostas 12
Participantes 3