Why is the code for this activity unable to initiate the next activity?

Asked

Viewed 29 times

-3

The activity shows the button, but when I click nothing happens

package com.example.conjuradortormenta;

import android.app.ActionBar;
import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;

public class ListadePersonagens extends AppCompatActivity implements View.OnClickListener{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_listade_personagens);

        LinearLayout layout = new LinearLayout(this);
        layout.setOrientation(LinearLayout.VERTICAL);

        // Através de shared preferences, pegamos as informações dos personagens que já foram criados
        SharedPreferences informaçõesdepersonagem = getSharedPreferences("com.example.conjuradortormenta_informaçoes_de_personagem", MODE_PRIVATE);
        int num = informaçõesdepersonagem.getInt("numero_de_personagens", 0);
        String nome, resumo;

        Button botao[]= new Button[num+1];

        if(num!=0)
        {
            for(int i=1; i<=num; i++)// cria os botões de cada personagem
            {
                nome = informaçõesdepersonagem.getString("nome_personagem"+(i+1), "Nenhum");
                resumo = informaçõesdepersonagem.getString("raça_personagem"+(i+1), "Nenhum")+ " " + informaçõesdepersonagem.getString("classe_personagem"+(i+1), "Nenhum") + " " + Integer.toString(informaçõesdepersonagem.getInt("nivel_personagem"+(i+1), 0));

                botao[i]=new Button(this);
                botao[i].setText(nome+" "+resumo);
                botao[i].setId(i);

                botao[i].setOnClickListener(this);
                layout.addView(botao[i]);
            }
        }

        botao[0]=new Button(this);
        botao[0].setText("Criar Novo");
        botao[0].setId(1);

        botao[0].setOnClickListener(this);

        layout.addView(botao[0]);
    }


    @Override
    public void onClick(View view)
    {
        int id=view.getId(), num;
        SharedPreferences shared=getSharedPreferences("com.example.conjuradortormenta_informaçoes_de_personagem", MODE_PRIVATE);
        num=shared.getInt("numero_de_personagens", -1);
        if(id>0 && id<num)
        {
            Intent nova= new Intent(this, teste.class);
            startActivity(nova);
        }
        else if(id==1)
        {
            Intent nova = new Intent (this, CriadordePersonagem.class);
            startActivity(nova);
        }
    }



}

1 answer

0


The problem was that the layout was not being added to the hierarchy. I should have called setContentView(layout).

Browser other questions tagged

You are not signed in. Login or sign up in order to post.