Onclick problem, I cannot pass Array information to a text view

Asked

Viewed 1,041 times

0

I’m having trouble inflating a list with information from the bank, I want to take the user information and set it in a list, but only with a type of data as a name, however it presents the following error:

Error message:

FATAL EXCEPTION: main
Process: com.example.matheus.privatewalletm, PID: 4149
java.lang.IllegalStateException: Could not execute method for android:onClick
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293)
at android.view.View.performClick(View.java:4780)
at android.view.View$PerformClick.run(View.java:19866)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
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:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)
at android.view.View.performClick(View.java:4780) 
at android.view.View$PerformClick.run(View.java:19866) 
at android.os.Handler.handleCallback(Handler.java:739) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5254) 
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:903) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.matheus.privatewalletm/com.example.matheus.privatewalletm.lista2}; have you declared this activity in your AndroidManifest.xml?
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1777)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1501)
at android.app.Activity.startActivityForResult(Activity.java:3745)
at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:48)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:75)
at android.app.Activity.startActivityForResult(Activity.java:3706)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:871)
at android.app.Activity.startActivity(Activity.java:4016)
at android.app.Activity.startActivity(Activity.java:3984)
at com.example.matheus.privatewalletm.Menu.abreBuscaNome(Menu.java:22)
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) 
at android.view.View.performClick(View.java:4780) 
at android.view.View$PerformClick.run(View.java:19866) 
at android.os.Handler.handleCallback(Handler.java:739) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5254) 
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:903) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

User class

package com.example.matheus.privatewalletm;

import android.util.Log;
import android.widget.ArrayAdapter;

import java.sql.ResultSet;
import java.util.ArrayList;

/**
 * Created by Matheus on 30/08/2016.
 */
public class Usuario extends _default {
    private int id;
    private String nome;
    private String data;
    private String rg;
    private String cpf;
    private String doenca;
    private String alergia;
    private String profissao;


    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

    public String getRg() {
        return rg;
    }

    public void setRg(String rg) {
        this.rg = rg;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public String getDoenca() {
        return doenca;
    }

    public void setDoenca(String doenca) {
        this.doenca = doenca;
    }

    public String getAlergia() {
        return alergia;
    }

    public void setAlergia(String alergia) {
        this.alergia = alergia;
    }

    public String getProfissao() {
        return profissao;
    }

    public void setProfissao(String profissao) {
        this.profissao = profissao;
    }

    public Usuario(){
        super();
        this.id = -1;
        this.nome = "";
        this.data = "";
        this.rg = "";
        this.cpf = "";
        this.doenca = "";
        this.alergia = "";
        this.profissao = "";
    }

    public ArrayList<Usuario> getLista(){
        BD bd = new BD();
        ArrayList<Usuario> lista = new ArrayList<>();
        try {
            ResultSet resultSet = bd.select("SELECT * FROM usuario");
            if(resultSet != null ){
                while (resultSet.next()){
                    Usuario obj = new Usuario();
                    obj.setId(resultSet.getInt("id"));
                    obj.setNome(resultSet.getString("nome"));
                    obj.setData(resultSet.getString("data"));
                    obj.setRg(resultSet.getString("rg"));
                    obj.setCpf(resultSet.getString("cpf"));
                    obj.setDoenca(resultSet.getString("doenca"));
                    obj.setAlergia(resultSet.getString("alergia"));
                    obj.setProfissao(resultSet.getString("profissao"));
                    lista.add(obj);
                    obj = null;
                }
            }
        }
        catch (Exception e)
        {
            Log.d("PrivateWalletM", e.getMessage());
            this._messagem = e.getMessage();
            this._status = false;

        }
        return lista;
    }

    public void confirmar(){
        String comando = "";
        if(this.getId() == -1){
           comando = String.format("INSERT INTO usuario (nome, data, rg, cpf, doenca, alergia, profissao) values ('%s', '%s', '%s', '%s', '%s', '%s','%s' );",
                    this.getNome(), this.getData(), this.getRg(), this.getCpf(), this.getDoenca(), this.getAlergia(), this.getProfissao());
          /* try {
               comando = String.format("SELECT * FROM usuario");
           }catch(Exception e)
            {
              _messagem = "Não entrou no BD";
            }*/

        }
        else
        {
            comando = String.format("UPDATE usuario SET nome ='%s', date = '%s', rg = '%s', cpf = '%s', doenca = '%s', alergia = '%s', profissao = '%s' WHERE id = %d;",
                    this.getNome(), this.getData(), this.getRg(), this.getCpf(), this.getDoenca(), this.getAlergia(), this.getProfissao(), this.getId());
        }
        BD bd = new BD();
       bd.execute(comando);
       this._messagem = bd._messagem;
        this._status = bd._status ;
    }

    public void apagar(){
        String  comando =  String.format("DELETE FROM usuario WHERE id = %d ", this.getId());

        BD bd = new BD();
        bd.execute(comando);
        this._messagem = bd._messagem;
        this._status = bd._status ;


    }

}

NEW CLASS

package com.example.matheus.privatewalletm;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class Novo extends AppCompatActivity {

    private Usuario usuario;
    private EditText editTextNome;
    private EditText editTextData;
    private EditText editTextRg;
    private EditText editTextCpf;
    private EditText editTextDoenca;
    private EditText editTextAlergia;
    private EditText editTextProfissao;


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

        this.usuario = new Usuario();
        this.editTextNome = (EditText) findViewById(R.id.editTextNome);
        this.editTextData = (EditText) findViewById(R.id.editTextData);
        this.editTextRg = (EditText) findViewById(R.id.editTextRg);
        this.editTextCpf = (EditText) findViewById(R.id.editTextCpf);
        this.editTextDoenca = (EditText) findViewById(R.id.editTextDoenca);
        this.editTextAlergia = (EditText) findViewById(R.id.editTextAlergia);
        this.editTextProfissao = (EditText) findViewById(R.id.editTextProfissao);

        Intent intent = getIntent();
            if(intent != null){
                Bundle bundle = intent.getExtras();
                if(bundle != null){
                    this.usuario.setId(bundle.getInt("id"));
                    this.editTextNome.setText(bundle.getString("nome"));
                    this.editTextData.setText(bundle.getInt("data"));
                    this.editTextRg.setText(bundle.getString("rg"));
                    this.editTextCpf.setText(bundle.getString("cpf"));
                    this.editTextDoenca.setText(bundle.getString("doenca"));
                    this.editTextAlergia.setText(bundle.getString("alergia"));
                    this.editTextProfissao.setText(bundle.getString("profissao"));

                }
            }
    }

    public void confirmar (View view){
        this.usuario.setNome(this.editTextNome.getText().toString());
        this.usuario.setData(this.editTextData.getText().toString());
        this.usuario.setRg(this.editTextRg.getText().toString());
        this.usuario.setCpf(this.editTextCpf.getText().toString());
        this.usuario.setDoenca(this.editTextDoenca.getText().toString());
        this.usuario.setAlergia(this.editTextAlergia.getText().toString());
        this.usuario.setProfissao(this.editTextProfissao.getText().toString());
        this.usuario.confirmar();

        Toast.makeText(this,this.usuario.get_messagem(),Toast.LENGTH_LONG).show();
        if(usuario._status)
            finish();
    }

    public void cancelar (View view)
    {

        finish();
    }
}

User Adapter class

package com.example.matheus.privatewalletm;

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

import java.util.ArrayList;

/**
 * Created by Matheus on 30/08/2016.
 */
public class UsuarioAdapter extends ArrayAdapter<Usuario> {
    private Context context;
    private ArrayList<Usuario> lista;

public UsuarioAdapter(Context context, ArrayList<Usuario> lista)
    {
        super(context,0,lista);
        this.context = context;
        this.lista = lista;
    }

    public View getView(int position, View convertView, ViewGroup parent)
    {
        final Usuario itemPosicao = this.lista.get(position);
        convertView = LayoutInflater.from(this.context).inflate(R.layout.item_lista,null);
        final View layout = convertView;

        TextView textViewNome = (TextView) convertView.findViewById(R.id.textViewNome);
        textViewNome.setText(itemPosicao.getNome());

        TextView textViewData = (TextView) convertView.findViewById(R.id.textViewData);
        textViewData.setText(itemPosicao.getData());

        TextView textViewRg = (TextView) convertView.findViewById(R.id.textViewRg);
        textViewRg.setText(itemPosicao.getRg());

        TextView textViewCpf = (TextView) convertView.findViewById(R.id.textViewCpf);
        textViewCpf.setText(itemPosicao.getCpf());

        TextView textViewDoenca = (TextView) convertView.findViewById(R.id.textViewDoenca);
        textViewDoenca.setText(itemPosicao.getDoenca());

        TextView textViewAlergia = (TextView) convertView.findViewById(R.id.textViewAlergia);
        textViewAlergia.setText(itemPosicao.getAlergia());

        TextView textViewProfissao = (TextView) convertView.findViewById(R.id.textViewProfissao);
        textViewProfissao.setText(itemPosicao.getProfissao());

       /* Button button = (Button) convertView.findViewById(R.id.buttonEditar);
        button.setOnClickListener(new View.OnClickListener(){

        public void onClick(View v){
            Intent intent = new Intent(context,Novo.class);
            intent.putExtra("nome", itemPosicao.getNome());
            intent.putExtra("data", itemPosicao.getData());
            intent.putExtra("rg", itemPosicao.getRg());
            intent.putExtra("cpf", itemPosicao.getCpf());
            intent.putExtra("doenca", itemPosicao.getDoenca());
            intent.putExtra("alergia", itemPosicao.getAlergia());
            intent.putExtra("profissao", itemPosicao.getProfissao());
            context.startActivity(intent);
           }
        });
    Button buttonDeletar = (Button) convertView.findViewById(R.id.buttonApagar);
        buttonDeletar.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v) {
                itemPosicao.apagar();
                if (itemPosicao._status)
                    layout.setVisibility(View.GONE);
                else
                    Toast.makeText(context, itemPosicao.get_messagem(), Toast.LENGTH_LONG).show();
            }
        });*/

        return convertView;

    }

}

Class Adapter Name

package com.example.matheus.privatewalletm;

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

import java.util.ArrayList;

/**
 * Created by Matheus on 30/08/2016.
 */
public class NomeAdapter extends ArrayAdapter<Usuario> {
    private Context context;
    private ArrayList<Usuario> lista;

    public NomeAdapter(Context context, ArrayList<Usuario> lista)
    {
        super(context,0,lista);
        this.context = context;
        this.lista = lista;
    }

    public View getView(int position, View convertView, ViewGroup parent)
    {
        final Usuario itemPosicao = this.lista.get(position);
        convertView = LayoutInflater.from(this.context).inflate(R.layout.item_lista2,null);
        final View layout = convertView;

        TextView textView16 = (TextView) convertView.findViewById(R.id.textView16);
        textView16.setText(itemPosicao.getNome());

        return convertView;

    }

}

Class LIST 1

package com.example.matheus.privatewalletm;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;

public class Lista extends AppCompatActivity {
    private ListView listViewUsuario;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lista);

        this.listViewUsuario = (ListView) findViewById(R.id.listViewUsuario);
        this.listViewUsuario.setAdapter(new UsuarioAdapter(this, new Usuario().getLista()));
    }
    public void voltar(View view){
        finish();
    }


}

Lista Class 2

package com.example.matheus.privatewalletm;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;

public class lista2 extends AppCompatActivity {
    private ListView listView2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_nome);

        this.listView2 = (ListView) findViewById(R.id.listView2);
        this.listView2.setAdapter(new NomeAdapter(this, new Usuario().getLista()));
    }
    public void voltar(View view)
    {
        finish();
    }


}

1 answer

3


I don’t think you declared acitivity in manifest.xml

"have you declared this Activity in your Androidmanifest.xml?"

  • 1

    Could explain better how he can do this(add the Activity in the manifest)?

  • Inside Androidmanifest.xml add tag <Activity android:name="Activity.Suaactivity">

Browser other questions tagged

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