Programação Progressiva

Fórum para dúvidas dos sites: Programação Progressiva, Java Progressivo, C Progressivo


Você não está conectado. Conecte-se ou registre-se

Problema ao acessar as opções

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1 Problema ao acessar as opções em Seg Nov 24, 2014 1:42 pm

Olá. Sou iniciante em Java e estou tendo um problema com meu app. Eu não consigo acessar as opções da lista, depois Exercícios -> 1. Exercicios sobre acentuação -> Daí o aplicativo para de funcionar. Era para acessar uma lista de opções com um botão e checkbox em todas as opções. Dá a opção para forçar o fechamento do app e a activity tá no manifest.

Isso é o que aparece no Logcat:
Código:
11-23 18:49:17.231: D/AndroidRuntime(364): Shutting down VM
11-23 18:49:17.231: W/dalvikvm(364): threadid=1: thread exiting with uncaught exception (group=0x40015560)
11-23 18:49:17.241: E/AndroidRuntime(364): FATAL EXCEPTION: main
11-23 18:49:17.241: E/AndroidRuntime(364): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.aplicativodeauxilioalinguaportuguesa.porland/com.aplicativodeauxilioalinguaportuguesa.porland.TelaListaSubExplicacoes}: java.lang.NullPointerException
11-23 18:49:17.241: E/AndroidRuntime(364):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
11-23 18:49:17.241: E/AndroidRuntime(364):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
11-23 18:49:17.241: E/AndroidRuntime(364):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
11-23 18:49:17.241: E/AndroidRuntime(364):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
11-23 18:49:17.241: E/AndroidRuntime(364):  at android.os.Handler.dispatchMessage(Handler.java:99)
11-23 18:49:17.241: E/AndroidRuntime(364):  at android.os.Looper.loop(Looper.java:123)
11-23 18:49:17.241: E/AndroidRuntime(364):  at android.app.ActivityThread.main(ActivityThread.java:3683)
11-23 18:49:17.241: E/AndroidRuntime(364):  at java.lang.reflect.Method.invokeNative(Native Method)
11-23 18:49:17.241: E/AndroidRuntime(364):  at java.lang.reflect.Method.invoke(Method.java:507)
11-23 18:49:17.241: E/AndroidRuntime(364):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-23 18:49:17.241: E/AndroidRuntime(364):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-23 18:49:17.241: E/AndroidRuntime(364):  at dalvik.system.NativeStart.main(Native Method)
11-23 18:49:17.241: E/AndroidRuntime(364): Caused by: java.lang.NullPointerException
11-23 18:49:17.241: E/AndroidRuntime(364):  at com.aplicativodeauxilioalinguaportuguesa.porland.TelaListaSubExplicacoes.preencheSubListaExplicacoes(TelaListaSubExplicacoes.java:50)
11-23 18:49:17.241: E/AndroidRuntime(364):  at com.aplicativodeauxilioalinguaportuguesa.porland.TelaListaSubExplicacoes.onCreate(TelaListaSubExplicacoes.java:32)
11-23 18:49:17.241: E/AndroidRuntime(364):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-23 18:49:17.241: E/AndroidRuntime(364):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
11-23 18:49:17.241: E/AndroidRuntime(364):  ... 11 more
11-23 18:49:39.680: D/dalvikvm(418): GC_EXTERNAL_ALLOC freed 209K, 51% free 2811K/5639K, external 2056K/2137K, paused 85ms
11-23 18:49:39.800: D/dalvikvm(418): GC_EXTERNAL_ALLOC freed 10K, 51% free 2801K/5639K, external 2241K/2798K, paused 78ms
11-23 18:49:45.270: D/dalvikvm(418): GC_EXTERNAL_ALLOC freed 24K, 51% free 2806K/5639K, external 3540K/3851K, paused 80ms
11-23 19:03:26.640: D/dalvikvm(418): GC_EXTERNAL_ALLOC freed 4K, 51% free 2810K/5639K, external 4074K/4074K, paused 90ms
11-23 19:03:57.561: D/dalvikvm(450): GC_EXTERNAL_ALLOC freed 199K, 51% free 2812K/5639K, external 2056K/2137K, paused 90ms
11-23 19:04:03.730: D/dalvikvm(450): GC_EXTERNAL_ALLOC freed 18K, 51% free 2809K/5639K, external 3598K/3851K, paused 79ms
11-23 19:04:34.811: D/dalvikvm(450): GC_EXTERNAL_ALLOC freed 4K, 51% free 2813K/5639K, external 4190K/4190K, paused 87ms
11-23 19:05:35.270: D/dalvikvm(450): GC_EXTERNAL_ALLOC freed 24K, 51% free 2808K/5639K, external 3619K/4022K, paused 92ms
11-23 19:05:36.170: D/dalvikvm(450): GC_EXTERNAL_ALLOC freed 6K, 51% free 2818K/5639K, external 4482K/4955K, paused 88ms
11-23 19:05:41.720: D/dalvikvm(450): GC_EXTERNAL_ALLOC freed 10K, 50% free 2830K/5639K, external 5694K/5935K, paused 80ms
11-23 19:06:21.390: D/dalvikvm(450): GC_EXTERNAL_ALLOC freed 11K, 50% free 2843K/5639K, external 5559K/5694K, paused 79ms
11-23 19:06:22.030: D/dalvikvm(450): GC_EXTERNAL_ALLOC freed 8K, 50% free 2852K/5639K, external 5694K/6469K, paused 78ms
11-23 19:06:32.590: D/dalvikvm(450): GC_EXTERNAL_ALLOC freed 9K, 50% free 2865K/5639K, external 6315K/6710K, paused 78ms
11-23 19:06:35.010: D/dalvikvm(450): GC_EXTERNAL_ALLOC freed 14K, 49% free 2885K/5639K, external 7266K/7485K, paused 88ms
11-23 19:06:35.290: D/dalvikvm(450): GC_EXTERNAL_ALLOC freed 5K, 49% free 2887K/5639K, external 5404K/6010K, paused 90ms
11-23 19:06:37.290: W/KeyCharacterMap(450): No keyboard for id 0
11-23 19:06:37.290: W/KeyCharacterMap(450): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
11-23 19:06:41.991: D/dalvikvm(450): GC_EXTERNAL_ALLOC freed 190K, 51% free 2843K/5703K, external 2728K/2798K, paused 82ms
11-23 19:06:43.740: D/dalvikvm(450): GC_EXTERNAL_ALLOC freed 30K, 51% free 2833K/5703K, external 3226K/3298K, paused 82ms
11-23 19:06:45.040: W/KeyCharacterMap(450): No keyboard for id 0
11-23 19:06:45.040: W/KeyCharacterMap(450): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
11-23 19:39:33.610: D/dalvikvm(485): GC_EXTERNAL_ALLOC freed 211K, 51% free 2816K/5639K, external 2056K/2137K, paused 94ms
11-23 19:39:34.820: D/dalvikvm(485): GC_EXTERNAL_ALLOC freed 27K, 51% free 2808K/5639K, external 2641K/2689K, paused 86ms
11-23 19:39:40.041: W/KeyCharacterMap(485): No keyboard for id 0
11-23 19:39:40.060: W/KeyCharacterMap(485): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
11-23 19:46:20.611: D/AndroidRuntime(519): Shutting down VM
11-23 19:46:20.611: W/dalvikvm(519): threadid=1: thread exiting with uncaught exception (group=0x40015560)
11-23 19:46:20.620: E/AndroidRuntime(519): FATAL EXCEPTION: main
11-23 19:46:20.620: E/AndroidRuntime(519): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.aplicativodeauxilioalinguaportuguesa.porland/com.aplicativodeauxilioalinguaportuguesa.porland.TelaListaSubExplicacoes}: java.lang.NullPointerException
11-23 19:46:20.620: E/AndroidRuntime(519):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
11-23 19:46:20.620: E/AndroidRuntime(519):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
11-23 19:46:20.620: E/AndroidRuntime(519):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
11-23 19:46:20.620: E/AndroidRuntime(519):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
11-23 19:46:20.620: E/AndroidRuntime(519):  at android.os.Handler.dispatchMessage(Handler.java:99)
11-23 19:46:20.620: E/AndroidRuntime(519):  at android.os.Looper.loop(Looper.java:123)
11-23 19:46:20.620: E/AndroidRuntime(519):  at android.app.ActivityThread.main(ActivityThread.java:3683)
11-23 19:46:20.620: E/AndroidRuntime(519):  at java.lang.reflect.Method.invokeNative(Native Method)
11-23 19:46:20.620: E/AndroidRuntime(519):  at java.lang.reflect.Method.invoke(Method.java:507)
11-23 19:46:20.620: E/AndroidRuntime(519):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-23 19:46:20.620: E/AndroidRuntime(519):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-23 19:46:20.620: E/AndroidRuntime(519):  at dalvik.system.NativeStart.main(Native Method)
11-23 19:46:20.620: E/AndroidRuntime(519): Caused by: java.lang.NullPointerException
11-23 19:46:20.620: E/AndroidRuntime(519):  at com.aplicativodeauxilioalinguaportuguesa.porland.TelaListaSubExplicacoes.preencheSubListaExplicacoes(TelaListaSubExplicacoes.java:50)
11-23 19:46:20.620: E/AndroidRuntime(519):  at com.aplicativodeauxilioalinguaportuguesa.porland.TelaListaSubExplicacoes.onCreate(TelaListaSubExplicacoes.java:32)
11-23 19:46:20.620: E/AndroidRuntime(519):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-23 19:46:20.620: E/AndroidRuntime(519):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
11-23 19:46:20.620: E/AndroidRuntime(519):  ... 11 more

Tela Lista Sub Exercicios

Código:
import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Adapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

import com.aplicativodeauxilioalinguaportuguesa.porland.adapterlista.AdapterSubExercicios;
import com.aplicativodeauxilioalinguaportuguesa.porland.listas.Exercicios;
import com.aplicativodeauxilioalinguaportuguesa.porland.listas.SubListaExercicios;

public class TelaListaSubExercicios extends Activity {
            
            private ArrayList<SubListaExercicios> listaSubExercicios;
            
            private Exercicios exerciciosSelecionados;
            
            private ListView listViewSubItensExercicios;
            
            private Button botaoRespostaExercicioSelecionado;
            
            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                
                setContentView(R.layout.lista_sub_itens_exercicios);
                
                listViewSubItensExercicios = (ListView) findViewById(R.id.listViewSubExercicios);
                
                botaoRespostaExercicioSelecionado = (Button) findViewById(R.id.botaoRespostaExercicioSelecionado);
                
                exerciciosSelecionados = (Exercicios) getIntent().getSerializableExtra("Exercícios");
                
                preencheListaSubExercicios();
                clickRespostaExercicioSelecionado();
                

        }
            
            private void clickRespostaExercicioSelecionado(){
                botaoRespostaExercicioSelecionado.setOnClickListener(new View.OnClickListener() {
                    
                    @Override
                    public void onClick(View v) {
                        try {
                            if (listViewSubItensExercicios != null ) {
                                Adapter adapter = (Adapter) listViewSubItensExercicios.getAdapter();
                                String texto = "";
                                
                               for (int i = 0; i < adapter.getCount(); i++) {
                                  SubListaExercicios sublistaexercicios = (SubListaExercicios) adapter.getItem(i);
                                  texto = sublistaexercicios.getConteudos() + " " + sublistaexercicios.isExercicioselecionado() + " \n ";
                                  
                              }
                              
                                Toast.makeText(TelaListaSubExercicios.this, texto, Toast.LENGTH_LONG).show();
                                
                            }
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                });
            }
            
            private void preencheListaSubExercicios(){
                
                listaSubExercicios = new ArrayList<SubListaExercicios>();
                
                SubListaExercicios suble1 = null;
                SubListaExercicios suble2 = null;
                SubListaExercicios suble3 = null;
                SubListaExercicios suble4 = null;
                SubListaExercicios suble5 = null;
                SubListaExercicios suble6 = null;
                SubListaExercicios suble7 = null;
                SubListaExercicios suble8 = null;
                
            
                if(exerciciosSelecionados.getId() == 1){
                    suble1 = new SubListaExercicios(1, "1. ex. de acentuacao");
                    
                    suble2 = new SubListaExercicios(2, "2.ex de acen");
                    
                    suble3 = new SubListaExercicios(3, "Oxítonas");
                    
                    suble4 = new SubListaExercicios(4, "Monossílabo tônico");
                    
                    suble5 = new SubListaExercicios(5, "Hiatos");
                    
                    suble6 = new SubListaExercicios(6, "Ditongo");
                    
                    suble7 = new SubListaExercicios(7, "Ter, vir e seus compostos");
                    
                    suble8 = new SubListaExercicios(8, "Acento diferencial");
                    
                }
                
                else if(exerciciosSelecionados.getId() == 2){
                    suble1 = new SubListaExercicios(1, "Conteudo 1.1");
                    suble2 = new SubListaExercicios(2, "Conteudo 2.1");
                    suble3 = new SubListaExercicios(3, "Conteudo 3.1");
                    suble4 = new SubListaExercicios(4, "Monossílabo tônico");
                    suble5 = new SubListaExercicios(5, "Hiato");
                    suble6 = new SubListaExercicios(6, "Ditongo");
                    suble7 = new SubListaExercicios(7, "Ter, vir e seus compostos");
                    suble8 = new SubListaExercicios(8, "Acento diferencial");
                }
            
                else if(exerciciosSelecionados.getId() == 3){
                    suble1 = new SubListaExercicios(1, "Conteudo 1.2");
                    suble2 = new SubListaExercicios(2, "Conteudo 2.2");
                    suble3 = new SubListaExercicios(3, "Conteudo 3.2");
                    suble4 = new SubListaExercicios(4, "Monossílabo tônico");
                    suble5 = new SubListaExercicios(5, "Hiato");
                    suble6 = new SubListaExercicios(6, "Ditongo");
                    suble7 = new SubListaExercicios(7, "Ter, vir e seus compostos");
                    suble8 = new SubListaExercicios(8, "");
                
            }
            
                else if(exerciciosSelecionados.getId() == 4){
                    suble1 = new SubListaExercicios(1, "Conteudo 1.2");
                    suble2 = new SubListaExercicios(2, "Conteudo 2.2");
                    suble3 = new SubListaExercicios(3, "Conteudo 3.2");
                    suble4 = new SubListaExercicios(4, "Monossílabo tônico");
                    suble5 = new SubListaExercicios(5, "Hiato");
                    suble6 = new SubListaExercicios(6, "Ditongo");
                    suble7 = new SubListaExercicios(7, "Ter, vir e seus compostos");
                    suble8 = new SubListaExercicios(8, "");
                
            }
                
                listaSubExercicios.add(suble1);
                listaSubExercicios.add(suble2);
                listaSubExercicios.add(suble3);
                listaSubExercicios.add(suble4);
                listaSubExercicios.add(suble5);
                listaSubExercicios.add(suble6);
                listaSubExercicios.add(suble7);
                listaSubExercicios.add(suble8);
                
                AdapterSubExercicios adapter = new AdapterSubExercicios(TelaListaSubExercicios.this, listaSubExercicios);
                listViewSubItensExercicios.setAdapter(adapter);
                
            }
        }


Adapter Sub Exercicios
Código:
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.TextView;

import com.aplicativodeauxilioalinguaportuguesa.porland.R;
import com.aplicativodeauxilioalinguaportuguesa.porland.listas.SubListaExercicios;

public class AdapterSubExercicios extends BaseAdapter {

    private Context ctx;
    private List<SubListaExercicios> listaSubExercicios;
    
    public AdapterSubExercicios(Context ctx, List<SubListaExercicios> listaSubExercicios){
        this.ctx = ctx;
        this.listaSubExercicios = listaSubExercicios;
    }
    
    @Override
    public int getCount(){
        return listaSubExercicios.size();
    }
    
    @Override
    public Object getItem(int posicao){
        return listaSubExercicios.get(posicao);
    }
    
    @Override
    public long getItemId(int posicao){
        return listaSubExercicios.get(posicao).getId();
    }
    
    @Override
    public View getView(int posicao, View convertView, ViewGroup parent){
        final SubListaExercicios sublistaeercicios = listaSubExercicios.get(posicao);
        
        View view = LayoutInflater.from(ctx).inflate(R.layout.layout_lista_sub_exercicios, null);
        TextView texto = (TextView) view.findViewById(R.id.textViewSubItemExercicios);
        CheckBox check = (CheckBox) view.findViewById(R.id.checkBoxSubListaExercicios);
        
        check.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                // TODO Auto-generated method stub
                
                sublistaeercicios.setExercicioselecionado(isChecked);
                
            }
        });
        
        texto.setText(sublistaeercicios.getConteudos());
        
        return view;
    }

}


Sub Lista Exercicios

Código:
import java.io.Serializable;

public class SubListaExercicios implements Serializable {
    
    /**
     *
     */
    private static final long serialVersionUID = 1L;

    //identificador para a classe
    private int id;
    
    //cria uma variável chamada conteudos do tipo String
    private String conteudos;
    
    private boolean exercicioselecionado = false;
    
    //cria o método construtor da classe Explicações recebendo uma String no método construtor do Conteudos
    public SubListaExercicios(int id, String conteudos){
        
        this.id = id;
        
        //o conteudos dessa classe vai receber o conteudos que é passado aqui
        this.conteudos = conteudos;
    }
    
    //método get que é para "pegar" esse conteúdo
    public String getConteudos(){
        return conteudos;
    }
    
    public int getId(){
        return id;
    }

    public boolean isExercicioselecionado() {
        return exercicioselecionado;
    }

    public void setExercicioselecionado(boolean exercicioselecionado) {
        this.exercicioselecionado = exercicioselecionado;
    }
    
    
    
}
TelaListaExercicios

Código:
import java.util.ArrayList;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

import com.aplicativodeauxilioalinguaportuguesa.porland.adapterlista.AdapterExercicios;
import com.aplicativodeauxilioalinguaportuguesa.porland.listas.Exercicios;

public class TelaListaExercicios extends Activity{
        
        private ArrayList<Exercicios> listaExercicios;
        
        private ListView listViewExercicios;
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            
            setContentView(R.layout.tela_exercicios);
            
            listViewExercicios = (ListView) findViewById(R.id.listViewExercicios);
            
            preencheListaExercicios();
            clickListaSubExplicacoes();

    }
        
        private void preencheListaExercicios(){
            
            listaExercicios = new ArrayList<Exercicios>();
            
            Exercicios exercicios1 = new Exercicios(1, "1.Exercicios sobre acentuação" + "\n" + "a) questão 1");
            listaExercicios.add(exercicios1);
            
            Exercicios exercicios2 = new Exercicios(2, "Exercicios sobre pontuação");
            listaExercicios.add(exercicios2);
            
            Exercicios exercicios3 = new Exercicios(3, "Exercicios sobre emprego do hífen");
            listaExercicios.add(exercicios3);
            
            Exercicios exercicios4 = new Exercicios(4, "Exercicios sobre padrões Frasais");
            listaExercicios.add(exercicios4);
            
            AdapterExercicios adapterExercicios = new AdapterExercicios(TelaListaExercicios.this, listaExercicios);
            listViewExercicios.setAdapter(adapterExercicios);
            
        }
            
            private void clickListaSubExplicacoes(){
                 listViewExercicios.setOnItemClickListener(new AdapterView.OnItemClickListener() {

                    @Override
                    public void onItemClick(AdapterView<?> adapter, View view,
                            int position, long id) {
                        // TODO Auto-generated method stub
                        
                    Exercicios exercicios = (Exercicios) adapter.getAdapter().getItem(position);
                    Intent intent = new Intent(TelaListaExercicios.this, TelaListaSubExplicacoes.class);
                    intent.putExtra("Exercicios", exercicios);
                    startActivity(intent);
                    }
                });
             }
        }
 

AdapterExercicios

Código:
import java.util.List;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.aplicativodeauxilioalinguaportuguesa.porland.R;
import com.aplicativodeauxilioalinguaportuguesa.porland.listas.Exercicios;

public class AdapterExercicios extends BaseAdapter {
    
    private Context ctx;
    private List<Exercicios> listaExercicios;
    
    public AdapterExercicios(Context ctx, List<Exercicios> listaExercicios){
        this.ctx = ctx;
        this.listaExercicios = listaExercicios;
    }
    
    @Override
    public int getCount(){
        return listaExercicios.size();
    }
    
    @Override
    public Object getItem(int posicao){
        return listaExercicios.get(posicao);
    }
    
    @Override
    public long getItemId(int posicao){
        return listaExercicios.get(posicao).getId();
    }

    @Override
    public View getView(int posicao, View convertView, ViewGroup parent) {
        Exercicios exercicios = listaExercicios.get(posicao);
        // TODO Auto-generated method stub
        
        View view = LayoutInflater.from(ctx).inflate(R.layout.layout_lista_exercicios, null);
        TextView texto = (TextView) view.findViewById(R.id.textViewExercicios);
        
        texto.setText(exercicios.getExercicios());
        
        return view;
    }

}
 


Exercicios

Código:
import java.io.Serializable;

    public class Exercicios implements Serializable {
        
        /**
         *
         */
        private static final long serialVersionUID = 1L;

        //identificador para a classe
        private int id;
        
        //cria uma variável chamada conteudos do tipo String
        private String exercicios;
        
        //cria o método construtor da classe Explicações recebendo uma String no método construtor do Conteudos
        public Exercicios(int id, String exercicios){
            
            this.id = id;
            
            //o conteudos dessa classe vai receber o conteudos que é passado aqui
            this.exercicios = exercicios;
        }
        
        //método get que é para "pegar" esse conteúdo
        public String getExercicios(){
            return exercicios;
        }
        
        public int getId(){
            return id;
        }
        
        
        
    }

Ver perfil do usuário

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum