CheckedTextView erro

Olá pessoal!

Estou fazendo uma lista de itens com checkedtextview. Quando eu clica na linha eu tenho que tagear o checkedtextview para apenas checkar aquele correspondente ao id do item. Só que dá erro de:
ERROR/AndroidRuntime(11952): java.lang.ClassCastException: android.widget.LinearLayout
Na linha final Long item = (Long) check.getTag();

veja parte do código:

 @Override
    public void onListItemClick (ListView l, View v, int position, long id) {
    	    	
		db.open();
		
    	cursor = db.getCursor();
    	cursor.moveToPosition(position);
    	
    	inf.setPosition(position);
    	
    	inf.setNumeroPedido(numeroPedido);//começa com 1
		inf.setNomeItem(cursor.getString(cursor.getColumnIndex(DBAdapterV4.COLUNA_DESCRICAO_ITEM)));
		inf.setIdItem(cursor.getInt(cursor.getColumnIndex(DBAdapterV4.COLUNA_ID_ITEM)));
		inf.setValor(cursor.getInt(cursor.getColumnIndex(DBAdapterV4.COLUNA_VALOR_ITEM)));
        
		db.inserirPedido(inf.getNumeroPedido(), inf.getIdCliente(), inf.getIdItem(), inf.getValor());
		check = (CheckedTextView) findViewById(android.R.id.text1);
		//check.setTag(inf.getIdItem());
		
		check.setTag(inf.getIdItem());
		

		final Long item = (Long) check.getTag();
		
		((CheckedTextView) v).setChecked(cursor.getInt(cursor.getColumnIndex(DBAdapterV4.COLUNA_ID_ITEM)) == item ?  true:false);
		Log.i(CATEGORIA, " Selecionado = " + item);
		
		
		
		
		Log.i(CATEGORIA, " Posição na Lista = " + position + " Posição no banco = " + inf.getIdItem() + " CheckedTextView = " +check.getTag());
		Toast.makeText(this, "Você selecionou: " + inf.getNomeItem(), Toast.LENGTH_SHORT).show();
		
		
       
		db.close(); cursor.close();
    }

Alguém pode me ajudar?

O problema deve estar na linha 25, no parametro View v retorna o layout da linha, que no seu caso é um LinearLayout.
Outra coisa, voce não deveria estar lendo o db novamente aí. Usa o mesmo objeto que foi passado para o ListView.

você pode acessar o CheckedTextView via o metodo getChildAt(index) com os devidos cast´s

Bom dia!

Valeu pelas dicas amigos, vou testar, depois se der certo coloco como resolvido o post.

Até

Caro amigo Gusukuma!

Toda vez que clico numa das linhas da listview é marcado o checkedtextview diferente. Por exemplo, seleciono a linha 1, marca o chtv da linha 7. Como usar o getChildAt(position) para marcar o correspondente a linha que estou clicando? Pode me ajudar?

O getChildAt(indx) eh na linha clicada, o indx eh o indice da view no linearLayout a partir de zero
posta o layout do listview

Beleza amigo, o layout é assim:


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	    android:orientation="horizontal"
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	    >
	<TextView 
		android:id="@+id/tvId"
		android:layout_width="20sp"
		android:layout_height="50dip"
		/>
	<TextView 
		android:id="@+id/tvDescricao"
		android:layout_width="225sp"
		android:layout_height="50dip"
		
		>
	</TextView>
	<TextView 
		android:id="@+id/tvVlrUnit"
		android:layout_width="20sp"
		android:layout_height="50dip"
		>
	</TextView>	
	<CheckedTextView 
     android:id="@android:id/text1" 
     android:layout_width="35sp" 
     android:layout_height="50dip" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:gravity="center_vertical" 
     android:checkMark="?android:attr/listChoiceIndicatorMultiple"     
     /> 	
</LinearLayout>

Os itens eu pego do banco de dados a partir de SimpleCursorAdapter, veja:

cursor = db.getCursor();///select * from item
        String[] from = {DBAdapterV4.COLUNA_ID_ITEM, DBAdapterV4.COLUNA_DESCRICAO_ITEM, DBAdapterV4.COLUNA_VALOR_ITEM};
    	int[] to = new int[]{R.id.tvId,R.id.tvDescricao,R.id.tvVlrUnit};
    	
    	
    	SimpleCursorAdapter rec = new SimpleCursorAdapter(this,R.layout.colunaslista, cursor, from, to);

E a outra parte do onItemClickListener é a primeira que coloquei acima. O que quero fazer é quando marcar o CheckedTextView insere no banco, desmarca deleta do banco.
A parte de inserir e deletar no DBAdapter está ok. Só estou peleando nesta parte do CHTV.

Mais alguma dica, sou grato amigo.

No onListItemClick voce acessa:
CheckedTextView ctv = ( CheckedTextView) ((LinearLayout) v). getChildAt(3);
O problema de marcar linha errada pode ser que voce vai precisar fazer um adapter customizado