Why the EditText widget ends up being null?

54 Views Asked by At

I am trying to get the input from the EditText fields and store it into an SQLite database. But the Fields are null even after I enter text into it. I did a similar thing earlier and it ended up just fine but I am confused what is causing the problem here.

package com.example.mridul.eventmanager;

import android.content.Intent;
import android.net.Uri;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class CreateEvent extends AppCompatActivity {

    EditText edit,edit2,edit3,edit4;
    TextView t1;
    ImageView img;
    Button bpost;
    public static final int PICK_IMAGE=1;
    Uri imageuri;
    Event in;
    DatabaseHelper dc = new DatabaseHelper(this);


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

        edit = (EditText) findViewById(R.id.editText7);
        edit2 = (EditText) findViewById(R.id.editText8);
        edit3 = (EditText) findViewById(R.id.editText9);
        edit4 = (EditText) findViewById(R.id.editText10);


        t1 = (TextView) findViewById(R.id.textView6);
        img = (ImageView) findViewById(R.id.imageView);
        bpost = (Button) findViewById(R.id.button3);

        t1.setOnClickListener(new View.OnClickListener(){

            public void onClick(View vim){

                operationGallery();

            }

        });

        bpost.setOnClickListener(new View.OnClickListener(){

            public void onClick(View vPost){

                    in.sEventName(edit.getText().toString()); //Problem here
                    in.sEventDesc(edit2.getText().toString());
                    in.sEventVenue(edit3.getText().toString());
                    in.sType(edit4.getText().toString());
                    in.sPic(imageuri.toString());


                    dc.addEvent(in);

                    Toast.makeText(getApplicationContext(), "Data Saved", Toast.LENGTH_SHORT).show();
                    Intent gBack = new Intent(CreateEvent.this, LoginActivity.class);
                    CreateEvent.this.startActivity(gBack);


            }

        });



    }  public void operationGallery(){

        Intent im = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
        startActivityForResult(im , PICK_IMAGE);

    }

    public void onActivityResult(int requestcode, int resultcode, Intent data){
        super.onActivityResult(requestcode, resultcode, data);
        if((resultcode == RESULT_OK)&&(requestcode == PICK_IMAGE)){
            imageuri = data.getData();
            img.setImageURI(imageuri);

        }
    }
}  

The following is the error which I am getting after executing the code

The Error

2

There are 2 best solutions below

0
On BEST ANSWER

You have just forgot to initiate Event object "in"

0
On

Your Event object in is uninitialized.