为什么 EditText 小部件最终为空?

Why the EditText widget ends up being null?

我正在尝试从 EditText 字段中获取输入并将其存储到 SQLite 数据库中。但是即使我在其中输入文本后,这些字段还是空的。 我早些时候做了类似的事情,结果很好,但我很困惑是什么导致了这里的问题。

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);

        }
    }
}  

下面是我执行代码后得到的错误

您刚刚忘记启动事件对象"in"

您的 Event 对象 in 未初始化。