>
Bom dia a todos. Pessoal, iniciando a execução da aplicação eu tenho a seguinte instrução na MainActivity
Button btnCliente =findViewById(R.id.btnCliente);
btnCliente.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Chamando tela de Cadastro
//startActivity(new Intent(getBaseContext(),CadastroActivity.class)); dando erro com esta instrução
Intent intentChamarTelaCadCliente = new Intent(getBaseContext(),CadastroActivity.class);
startActivity(intentChamarTelaCadCliente);
}
});
Com esta instrução a aplicação da o erro abaixo e não executa, enquanto sem ela pelo menos faz a instalação.
Um outro ponto em destaque é que eu tenho um botão inclusão no Xml porém ele não aparece.
Conseguem me dar um help neste projeto inicial, pois ontem fiquei tomando até 01:00 e não consegui dar continuidade.
Um outro pronto é que o meu botão Cliente não aparece apesar de no Layout visual do Android Studio estar aparecendo.
De qualquer forma coloquei o projeto em nuvem para verem o que estou fazendo de errado.Acho que fica mais fácil de vocês visualizarem o problema.
https://1drv.ms/f/s!Av_A5dhVZ954ikMhEOqC2u01gQmX
Erro que acontece com a instrução acima :
03-20 07:52:33.781 6761-6761/sada.com.br.crudexemplo E/AndroidRuntime: FATAL EXCEPTION: main
Process: sada.com.br.crudexemplo, PID: 6761
java.lang.RuntimeException: Unable to start activity ComponentInfo{sada.com.br.crudexemplo/sada.com.br.crudexemplo.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3160)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3275)
at android.app.ActivityThread.access$1000(ActivityThread.java:218)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1744)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:7007)
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:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at sada.com.br.crudexemplo.MainActivity.onCreate(MainActivity.java:32)
at android.app.Activity.performCreate(Activity.java:6609)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3113)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3275)
at android.app.ActivityThread.access$1000(ActivityThread.java:218)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1744)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:7007)
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:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
03-20 07:52:33.801 6761-6761/sada.com.br.crudexemplo I/Process: Sending signal. PID: 6761 SIG: 9
Consegui resolver com a seguinte instrução : setContentView(R.layout.activity_main);
Ou seja, quando eu criei a a mainActivity não tinha esta instrução conforme abaixo :
public class MainActivity extends AppCompatActivity {
// private SQLiteDatabase db = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Apesar deste problema estar resolvido, alguém consegue explicar isso ?