Android Studio中出现空对象引用错误

问题描述 投票:0回答:1

我得到这个错误,似乎当我从另一个类使用findviewbyid时出现。

MainActivity:

protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button boton=(Button)findViewById(R.id.button);
    boton.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
          EditText usuario=(EditText)findViewById(R.id.editText);
            usuario1  =(EditText)findViewById(R.id.editText);
            EditText password = (EditText) findViewById(R.id.editText2);
            String user = usuario1.getText().toString();
            String pass = password.getText().toString();
            Esta asd=new Esta();
        asd.function();

        }
        });}

Esta.class:

package com.example.sori.facultad_if;

import android.support.v7.app.AppCompatActivity;
import android.widget.EditText;


public class Esta extends AppCompatActivity{

    public void function() {
        setContentView(R.layout.activity_main);
        EditText thisone=(EditText)findViewById(R.id.editText);

}}

错误日志:

03-05 22:44:12.061 10088-10088 / com.example.sori.facultad_if E / AndroidRuntime:FATAL EXCEPTION:main进程:com.example.sori.facultad_if,PID:10088 java.lang.NullPointerException:尝试调用虚拟方法'android.view.Window $ Callback android.view.Window.getCallback()'对空对象引用

提前致谢

java android android-studio
1个回答
0
投票

试试这样:

主要内容:

protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    EditText usuario=(EditText)findViewById(R.id.editText);
    EditText password = (EditText) findViewById(R.id.editText2);

    Button boton=(Button)findViewById(R.id.button);
    boton.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {


                String user = usuario1.getText().toString();
                String pass = password.getText().toString();
                startActivity(new Intent(activity, ImageEditingActivity.class).putExtra("user", user).putExtra("pass", pass));

            }
        });

}

Esta.class:

package com.example.sori.facultad_if;

import android.support.v7.app.AppCompatActivity;
import android.widget.EditText;


public class Esta extends AppCompatActivity{

    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        try {
            //noinspection ConstantConditions
            String user = getIntent().getExtras().getString("user", "");
            String pass = getIntent().getExtras().getString("pass", "");
        } catch (Exception e) {
            e.printStackTrace();
        }

        EditText thisone=(EditText)findViewById(R.id.editText);
    }


}
© www.soinside.com 2019 - 2024. All rights reserved.