Dentro do lv.setOnItemClickListener existe o metodo public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {}
Note que exite 4 parâmetros, o primeiro é o Adapter, o segundo é a view, o terceiro a posição do que foi clicado e o quarto é o id.
Não sei como foi construído o seu ProdutoAdapter, é basiscamente realizar um cast + ou - assim
Produto prod = (Produto) arg0.get(arg2);
Mas para isso vai depender de como seu ProdutoAdapterfoi construido.
Em 10 de setembro de 2012 23:49, Murilo Ângelo <muriloangelo10@gmail.com> escreveu:
posta o log cara, passei por um problema exatamente igual, mas como vc esta dizendo que nem no evento entra, precisaremos de mais informações2012/9/10 Roversi <matheusroversi@gmail.com>
Pessoal estou com dificuldades em pegar o id de um item de um ListView, criei uma função onde carrega uma um listview com produtos do banco de dados, porém não estou conseguindo fazer o click do listview pegar a id, nem entrar no evento.. alguém sabe me dizer onde estou errando?
// FUNÇÃOpublic void CarregandoProdutos(int Categoria){//Cria Array para criar a Lista de produtos e categoriasList<Produto> produtos = new ArrayList<Produto>();Resources r = getResources();//Carrega lista de produtoscursor = mySQLiteAdapter.queryProdutos(Categoria);//String[] from2 = new String[]{SQLiteAdapter.KEY_ID, SQLiteAdapter.KEY_CONTENT1, SQLiteAdapter.KEY_CONTENT2};cursor.moveToFirst();while(!cursor.isAfterLast()) {//Log.i("", cursor.getString(0)+"/"+cursor.getString(1)+"/"+cursor.getString(2));int resId = r.getIdentifier("prato"+cursor.getString(0),"drawable", getPackageName());produtos.add(new Produto(cursor.getString(0), cursor.getString(1), resId, cursor.getString(2)));cursor.moveToNext();}cursor.close();ProdutoAdapter adapter = new ProdutoAdapter(getApplicationContext(),produtos);//Amarra um objeto ListView com o ListView declarado no XML.ListView lv = (ListView) findViewById(R.id.Lista);lv.setAdapter(adapter);Log.i("onitemclicklistener","inicio");lv.setOnItemClickListener(new OnItemClickListener() {public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {Log.i("listview","click");}});Log.i("onitemclicklistener","fim");}






0 comentários:
Postar um comentário