Felippe, falta o construtor com a activity ficaria algo assim:
Em negrito o que tem que ser alterado, em vermelho removido:
-- public class MinhaListaInicial extends AsyncTask<String, Void, String> {
(remover variáveis)
private String resposta = null;
private boolean respostaOk = true;
(remover variáveis)
private String resposta = null;
private boolean respostaOk = true;
private Activity activity;
public MinhaListaInicial (Activity activity) {
this.activity = activity;
}
@Override
protected String doInBackground(String... params) {
try {
String url = "http://www.cuboweb.com.br/android/listapaginabuscames.php";
String respostaRetornada = null;
respostaRetornada = Conexao.executaHttpGet(url);
String resposta = respostaRetornada.toString();
} catch (Exception erro1) {
resposta = "";
}
return resposta ;
}
protected String doInBackground(String... params) {
try {
String url = "http://www.cuboweb.com.br/android/listapaginabuscames.php";
String respostaRetornada = null;
respostaRetornada = Conexao.executaHttpGet(url);
} catch (Exception erro1) {
resposta = "";
}
return resposta ;
}
protected void onPostExecute(String resposta) {
if ( !resposta.equals("")) {
if ( !resposta.equals("")) {
//Faça o trabalho para resultado correto, a resposta vinda do servidor vai estar em resposta caso o resultado seja uma String
Mensagens("Impossivel exibir lista ", "Verifique sua internet ");
String[] errorlista = { "Não foi possiver exibir a lista de noticias, verifique sua internet" };
ArrayAdapter<String> arrayAdapter1 = new ArrayAdapter<String>(activity, android.R.layout.simple_list_item_1, errorlista);
listanoticiabusca.setAdapter(arrayAdapter1);
}
}
} else {
Toast.makeText(activity, "Não foi possível obter os resultados!", Toast.LENGHT_LONG).show();
String[] errorlista = { "Não foi possiver exibir a lista de noticias, verifique sua internet" };
listanoticiabusca.setAdapter(arrayAdapter1);
}
}
}
A idéia é usar a activity ao invés de Classe.this
Em 25 de setembro de 2012 19:43, Felippe dos Santos Ferreira <felippenasuacasa@gmail.com> escreveu:
fiz assim confome vc disse mais não aparece lista nenhum...
amigos é assim mesmu uma classe dentro de outra...
como é o nome disso?
//coloquei assim dentro do oncreate
new MinhaListaInicial().execute();
public class MinhaListaInicial extends AsyncTask<String, Void, Void> {
private String resposta = null;
private boolean respostaOk = true;
@Override
protected Void doInBackground(String... params) {
try {
String url = "http://www.cuboweb.com.br/android/listapaginabuscames.php";resposta = respostaRetornada.toString();
String respostaRetornada = null;
respostaRetornada = Conexao.executaHttpGet(url);
} catch (Exception erro1) {
respostaOk = false;
}
return null;
}
protected void onPostExecute(String result) {
if (respostaOk) {} else {
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);
}
});
Mensagens("Impossivel exibir lista ", "Verifique sua internet ");ArrayAdapter<String> arrayAdapter1 = new ArrayAdapter<String>(TelaBuscarExibeNoticias.this, android.R.layout.simple_list_item_1, errorlista);
String[] errorlista = { "Não foi possiver exibir a lista de noticias, verifique sua internet" };
listanoticiabusca.setAdapter(arrayAdapter1);
}
}
}Em 25 de setembro de 2012 15:07, Lucas de Jesus Matias <lucas.matias.87@gmail.com> escreveu:
--Deixe tudo de fora do doInBackground, exceto a comunicação com o servidor e a organização dos dados vindos do servidor.O resto você faz no onPostExecute.Em 25 de setembro de 2012 15:02, Felippe dos Santos Ferreira <felippenasuacasa@gmail.com> escreveu:
--O adapter que vc diz é a lista?
Em 25/09/2012 15:00, "Lucas de Jesus Matias" <lucas.matias.87@gmail.com> 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;
> }
> @Override
> protected void onPreExecute() {
> progress = new ProgressDialog(activity);
> progress.setMessage("Carregando...");
> progress.show();
> }
> @Override
> protected Boolean doInBackground(String... params) {
> return Sessao.checarSessaoExterna(activity);
> }
> @Override
> protected 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 <felippenasuacasa@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