I went back to the Class he sent me as soon as I click on the error, but I can not identify it. Can someone help me? Sorry for the inconvenience, I'm new to Android and the site, so I do not know how they'd like me to post.
package com.br.activity;
import com.br.adapter.spinner.DistribuidoraSpinnerAdapter;
import com.br.adapter.spinner.LivroSpinnerAdapter;
import com.br.controller.DistribuidoraCtrl;
import com.br.controller.LivroCtrl;
import com.br.dbHelper.ConexaoSQLite;
import com.br.model.Distribuidora;
import com.br.model.Livro;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;
public class AlteraDistribuidoraActivity extends Activity {
private Button btnADAtualizar; // Botao para salvar as alterações
private Spinner spnADLivro;// Spinner contendo os livros
private Spinner spnADDistribuidora;// Spinner contendo as distribuidoras
private LivroCtrl livroCtrl;// Controller do livro
private DistribuidoraCtrl distribuidoraCtrl;// Controller da distribuidora
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_altera_distribuidoras);
// Inicializo os controllers
livroCtrl = new LivroCtrl(ConexaoSQLite.getInstancia(AlteraDistribuidoraActivity.this));
distribuidoraCtrl = new DistribuidoraCtrl(ConexaoSQLite.getInstancia(AlteraDistribuidoraActivity.this));
// Crio o botão Atualizar
this.btnADAtualizar = (Button) findViewById(R.id.btnADAtualizar);
// Crio o spinner Livro
this.spnADLivro = (Spinner) findViewById(R.id.spnADLivro);
// Crio o spinner Distribuidora
this.spnADDistribuidora = (Spinner) findViewById(R.id.spnADDistribuidora);
// Crio o adpater para adicionar a lista de Livros ao spinner
final LivroSpinnerAdapter livroSpinAdapter = new LivroSpinnerAdapter(this, android.R.layout.simple_spinner_item, this.livroCtrl.getListaLivroCtrl());
// Crio o adpater para adicionar a lista de Distribuidores ao spinner
final DistribuidoraSpinnerAdapter distribuidoraSpinAdapter = new DistribuidoraSpinnerAdapter(this, android.R.layout.simple_spinner_item, this.distribuidoraCtrl.getListaDistribuidoraCtrl());
// Adiciono um layout ao menu de dropdown do spinner
livroSpinAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Adiciono um layout ao menu de dropdown do spinner
distribuidoraSpinAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Seto o adapter ao spinner
this.spnADDistribuidora.setAdapter(livroSpinAdapter);
// Seto o adapter ao spinner
this.spnADDistribuidora.setAdapter(distribuidoraSpinAdapter);
// Adiciono listenner ao botao atualizar
this.btnADAtualizar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Crio um Livro (o selecionado no spinner)
Livro livros = (Livro) spnADLivro.getSelectedItem();
// Crio uma Distribuidora (o selecionado no spinner)
Distribuidora distribuidora = (Distribuidora) spnADDistribuidora.getSelectedItem();
// Atualizo a Distribuidora do Livro
livros.setLivCodigo(distribuidora.getDisCodigo());
// Salvo o Livro atualizado com o novo Distribuidora
if (livroCtrl.updateLivroCtrl(livros)) {
Toast.makeText(AlteraDistribuidoraActivity.this, "Livro " + livros.getLivNome() + " agora é distribuido por " + distribuidora.getDisNome(), Toast.LENGTH_LONG).show();
} else {
// Não consegui atualizar Distribuidora
Toast.makeText(AlteraDistribuidoraActivity.this, "Erro ao atualizar distribuidor!", Toast.LENGTH_LONG).show();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// É o que acrescenta item no Menu.
getMenuInflater().inflate(R.menu.altera_distribuidora, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Error:
10-30 13: 59: 26,184 2628-2628 / com.br.activity E / AndroidRuntime: FATAL EXCEPTION: main Process: com.br.activity, PID: 2628 java.lang.NullPointerException: Attempt to invoke virtual method 'void com.br.model.Livro.setLivCode (long) 'on a null object reference at com.br.activity.AlteraDistributionActivity $ 1.onClick (AlteraDistribuidoraActivity.java:77) at android.view.View.performClick (View.java:5637) at android.view.View $ PerformClick.run (View.java:22429) at android.os.Handler.handleCallback (Handler.java:751) at android.os.Handler.dispatchMessage (Handler.java:95) at android.os.Looper.loop (Looper.java:154) at android.app.ActivityThread.main (ActivityThread.java:6119) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:776) **