Olá pessoal,
estou aprendendo a desenvolver aplicativos no Android e acompanhando um vídeo tutorial do nosso colega lavai0, que por sinal é bem bacana, porém em uma de seus tutoriais esbarrei em um desafio. Tenho o seguinte método:
public void CarregaDados(){
MostraDados = (ListView) findViewById(R.id.lvMostraDados);
if(VerificaRegistro()){
String[] Coluna = new String[] {KEY_NOMEPESSOA};
AdapterLista = new SimpleCursorAdapter(this,R.layout.mostrabanco,cursor,Coluna, new int[] (R.id.txtCarregaDados));
MostraDados.setAdapter(AdapterLista);
}
else
MensagemAlerta("Erro 04","Você não possui cadastro!");
}
Nesse método está dando 02 erros em “new int[]” que retorna as seguintes mensagens:
1.: Syntax error on token “]”, AssignmentOperator expected after this token;
2.: The left-hand side of an assignment must be a variable;
Alguém sabe o porque desse erro e como contornar essa situação?
Desde já agradeço pela ajuda!
Quando você criar uma instância de um array, precisa informar o tamanho, por exemplo
int[] myArray = new int[10];
Observe que nesse trecho new int[] (R.id.txtCarregaDados), faltou informar o tamanho.
Olá,
muito obrigado pela ajuda. Fiz da seguinte forma:
if(VerificaRegistro()){
String[] Coluna = new String[] {KEY_NOMEPESSOA};
int[] to = new int[] { R.id.txtCarregaDados, R.id.txtCarregaDados };
AdapterLista = new SimpleCursorAdapter(this,R.layout.mostrabanco,cursor,Coluna, new int[] (R.id.txtCarregaDados));
MostraDados.setAdapter(AdapterLista);
}
Porém como ainda estou engatinhando no Android e no Java, gostaria de tirar só duas dúvidas. São elas:
Qual o segundo parâmetro que coloco nesse linha?
Como faço para usar o código acima, no código abaixo?
Mais uma vez muito obrigado!
Att.
Existem duas maneiras para se criar um array de int e então já inicializá-lo com os valores desejados.
Uma delas é a seguinte:
new int [] { 2, 4, 5 }
onde você criou ym array de 3 posições, e pôs na posição [0] o valor 2, na posição [1] o valor 4, e na posição [2] o valor 5.
A outra é você criar uma variável separada, e então inicializar as coisas separadamente:
int[] parametro = new int [3];
parametro [0] = 2;
parametro [0] = 4;
parametro [0] = 5;
Bom dia Marcos.
O uso do SimpleCursorAdapter é composto por valores pegos na sua query “from” (ex. nomeDaPessoa; idadeDaPessoa)
- os valores “to” que serão os campos no qual o valores irão
<TextView
android:id="@+id/nomeDaPessoa"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="28dip" />
<TextView
android:id="@+id/idadeDaPessoa"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="28dip" />
(ex. no seu xml = R.id.nomeDaPessoa; R.id.idadeDaPessoa).
No exemplo enviado, ele faz exatamente isso.
Att,
Bom dia gnudark,
Entendi…perfeito… só mais uma dúvida, como faço para chamar esse int[] dentro dessa linha, pois está dando erro?
AdapterLista = new SimpleCursorAdapter(this,R.layout.mostrabanco,cursor,Coluna, [b]new int[]/b);
Obrigado mais uma vez…
[quote=Marcos Tavares]Bom dia gnudark,
Entendi…perfeito… só mais uma dúvida, como faço para chamar esse int[] dentro dessa linha, pois está dando erro?
AdapterLista = new SimpleCursorAdapter(this,R.layout.mostrabanco,cursor,Coluna, [b]new int[]/b);
Obrigado mais uma vez…[/quote]
Tenta assim:
ou para maior entendimento:
int[] to = new int[]{R.id.txtCarregaDados};
AdapterLista = new SimpleCursorAdapter(this,R.layout.mostrabanco,cursor,Coluna, to);
Att,
Bom dia gnudark.
Muito obrigado pela ajuda. Funcionou perfeitamente.
Abraços