1
resposta

java.lang.NullPointerException - Em Listview sem contexto

Pessoal, eu criei uma classe externa para realizar a thread de rede com meu webservice, e no metodo onPostExecute eu quero popular um listView com o adapter que contém as informações puxadas do meu webservice.

protected void onPostExecute(ArrayList<HashMap<String, String>> arraylistCursos) {
        //exibirProgress(false);
        if (arraylistCursos !=null) {
            //Criando um ArrayAdapter
            cursosAdapter = new CursosAdapter(context, arraylistCursos);
            listviewCursos.setAdapter(cursosAdapter);
            //Caso o usuário Clicar em uma das opcões do ListView será executado esse método
            listviewCursos.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                    HashMap<String, String> resultp = new HashMap<String, String>();
                    resultp = (HashMap<String, String>) cursosAdapter.getItem(arg2);


                    Curso curso = new Curso();
                    curso.setCodCurso(Long.parseLong(resultp.get(Curso.TAG_CODCURSO)));

                    Intent it;
                    it = new Intent(context, MainActivity.class);
                    // Passando parâmetros de um Activity a outro
                    it.putExtra(Curso.TAG_CURSO, curso);
                    it.putExtra("usuario", usuario);
                    //startActivityForResult(it, 0);
                    context.startActivity(it);
                }

            });

        } else {
            Toast.makeText(context, "Falha ao carregar cursos", Toast.LENGTH_LONG).show();
        }

O erro gerado é esse:

02-02 11:43:59.409 27696-27696/br.com.marcogorak.aceleraedu E/AndroidRuntime: FATAL EXCEPTION: main
                                                                              Process: br.com.marcogorak.aceleraedu, PID: 27696
                                                                              java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference
                                                                                  at br.com.marcogorak.aceleraedu.WebService.tasks.CursosTask.onPostExecute(CursosTask.java:103)
                                                                                  at br.com.marcogorak.aceleraedu.WebService.tasks.CursosTask.onPostExecute(CursosTask.java:30)
                                                                                  at android.os.AsyncTask.finish(AsyncTask.java:632)
                                                                                  at android.os.AsyncTask.access$600(AsyncTask.java:177)
                                                                                  at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
                                                                                  at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                  at android.os.Looper.loop(Looper.java:145)
                                                                                  at android.app.ActivityThread.main(ActivityThread.java:6117)
                                                                                  at java.lang.reflect.Method.invoke(Native Method)
                                                                                  at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
                                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

poderiam me ajudar?

1 resposta

Oi Marco, tudo bem ?

Provavelmente o erro gerado é devido a você estar querendo mexer com uma referência nula, que nesse caso é o ListView, no outro tópico te mandei um post, dá uma olhadinha nele.

Qualquer coisa estou a disposição.

Abraços