manu outra coisa...
mais e meus trys catch...
eu retiro...
tipo executa no doInBackground
se der certo vai pro OnPostExecute
se der errado vai pra onde ?
é isso ?
Em terça-feira, 25 de setembro de 2012 11h00min17s UTC-3, Lucas Matias escreveu:
Se não me engano o adapter você tem que por no OnPostExecute,--Olha só o meu exemplo:Também comecei a aprender sobre isso ontem, mas pelo que entendi, o doInBackground fica só a parte pesada, e joga o resultado para resolver o resto no OnPostExecute, me corrijam se estiver errado.public class ChecarSessaoTask extends AsyncTask<String, Void, Boolean>{private ProgressDialog progress;private SessionActivity activity;public ChecarSessaoTask(SessionActivity activity) { this.activity = activity;}@Overrideprotected void onPreExecute() {progress = new ProgressDialog(activity);progress.setMessage("Carregando..."); progress.show();}@Overrideprotected Boolean doInBackground(String... params) {return Sessao.checarSessaoExterna(activity); }@Overrideprotected void onPostExecute(Boolean resultado) {progress.dismiss();AplicacaoCMA app = activity.app;if(!resultado) {new RecarregaUsuarioTask(activity).execute(); } else {activity.geraContador();}}}Em 25 de setembro de 2012 10:53, Felippe dos Santos Ferreira <felippen...@gmail.com> escreveu:
galera fiz um app tudo certinho na versão 2,2
ai a galera do trampo disse "Boa mlk, muito show, coloca nu tablet pra gente ver roda, e coloca nu cel do diretor pra ele testa na casa dele"
Ai aconteceu o problema, em versões acima da 2,3 ele num roda, da erro...
ai lendo a documentação do android vi que precisa de um tal de AsyncTask,
eu fiz mais a lista aparece em branco.
poderiam mi dar umas dicas de como fazer funfar...
segue o codigo:
public void onCreate(Bundle savedInstanceState) {
new minhaListaInicial();
}public class minhaListaInicial extends AsyncTask <Void, Void, Void> { //acho que estou errando aqui
protected void onPostExecute(String result) {
}
@Override
protected void onPreExecute() {
}
@Override
protected void onProgressUpdate(Void... values) {
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
try {
String url = "http://www.xxx.com.br/android/listapaginabuscames. ";php
String respostaRetornada = null;
respostaRetornada = Conexao.executaHttpGet(url);
String resposta = respostaRetornada.toString();
char separador = '#';
int contaUsuarios = 0;
for (int i = 0; i < resposta.length(); i++)
if (separador == resposta.charAt(i))
contaUsuarios++;
ListaNoticiasMes = new String[contaUsuarios];
char caracter_lido = resposta.charAt(0);
String nome = "";
for (int i = 0; caracter_lido != '^'; i++) {
caracter_lido = resposta.charAt(i);
if (caracter_lido != '#') {
nome += (char) caracter_lido;
} else {
ListaNoticiasMes[posicao] = "" + nome;
posicao++;
nome = "";
}
}
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(TelaBuscarExibeNoticias.this, android.R.layout.simple_list_ item_1 , ListaNoticiasMes);
listanoticiabusca.setAdapter(arrayAdapter);
listanoticiabusca.setOnItemClickListener (new OnItemClickListener() {
public void onItemClick(AdapterView<?> parentView,
View selectedItemView, int position, long id) {
// TODO Auto-generated method stub
Toast.makeText(getApplication() ,
((TextView) selectedItemView).getText(),
Toast.LENGTH_LONG).show();
Intent prox = new Intent(TelaBuscarExibeNoticias.this,
NoticiaDetalhada.class);
prox.putExtra("NOMES", ((TextView) selectedItemView).getText());
startActivity(prox);
}
});
} catch (Exception erro1) {
Mensagens("Impossivel exibir lista ", "Verifique sua internet "
+ erro1);
String [] errorlista = {"Não foi possiver exibir a lista de noticias, verifique sua internet"};
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(TelaBuscarExibeNoticias.this, android.R.layout.simple_list_ item_1 , errorlista);
listanoticiabusca.setAdapter(arrayAdapter);
}
return null; // acho que deveria retornar algo
}
--






0 comentários:
Postar um comentário