Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 蓄意的问题_Java_Android_Android Intent_Nullpointerexception - Fatal编程技术网

Java 蓄意的问题

Java 蓄意的问题,java,android,android-intent,nullpointerexception,Java,Android,Android Intent,Nullpointerexception,我一直在与意图斗争,但我一直在这段代码中得到一个错误。我一直得到一个致命的异常 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.bac1.problemcodereference/com.example.bac1.problemcodereference.MainActivity}: java.lang.NullPointerException: Attempt to in

我一直在与意图斗争,但我一直在这段代码中得到一个错误。我一直得到一个致命的异常

 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.bac1.problemcodereference/com.example.bac1.problemcodereference.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference 
我的项目代码:

public class MainActivity extends AppCompatActivity implements Serializable    {
    private String cPcode;
    Button help , sub;
    EditText codetext;
    Intent intent = new Intent (this, Main2Activity.class);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sub = (Button) findViewById(R.id.submit);
        help = (Button) findViewById(R.id.help);



        sub.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String text = codetext.getText().toString();
                MainActivity onew = new MainActivity();
                onew.setcPcode(text);
                intent.putExtra("stuff",onew);
                startActivity(intent);
            }
        });}
在这条线上

Intent intent = new Intent (this, Main2Activity.class);
您的活动未完全构造,因此在
oncreate
函数之后或内部使用此调用,因为
表示
上下文,该上下文将为
null
,因此出现异常

就这样吧

public class MainActivity extends AppCompatActivity implements Serializable    {
private String cPcode;
Button help , sub;
EditText codetext;
Intent intent;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    intent = new Intent (this, Main2Activity.class);
    sub = (Button) findViewById(R.id.submit);
    help = (Button) findViewById(R.id.help);



    sub.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String text = codetext.getText().toString();
            MainActivity onew = new MainActivity();
            onew.setcPcode(text);
            intent.putExtra("stuff",onew);
            startActivity(intent);
        }
    });}
另一个问题是,为什么要传递一个新的
mainActivity
对象,所以更好的选择是创建一个单独的POJO类,并使用它在此行存储数据

Intent intent = new Intent (this, Main2Activity.class);
您的活动未完全构造,因此在
oncreate
函数之后或内部使用此调用,因为
表示
上下文,该上下文将为
null
,因此出现异常

就这样吧

public class MainActivity extends AppCompatActivity implements Serializable    {
private String cPcode;
Button help , sub;
EditText codetext;
Intent intent;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    intent = new Intent (this, Main2Activity.class);
    sub = (Button) findViewById(R.id.submit);
    help = (Button) findViewById(R.id.help);



    sub.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String text = codetext.getText().toString();
            MainActivity onew = new MainActivity();
            onew.setcPcode(text);
            intent.putExtra("stuff",onew);
            startActivity(intent);
        }
    });}
另一个问题是为什么要传递一个新的
mainActivity
对象,所以更好的选择是创建一个单独的POJO类并使用它来存储数据