引起:java.lang.NullPointerException:尝试使用我的按钮调用虚拟方法

我有这个 NullPointerException 我无法摆脱,我可以使用一些帮助,请:)


所以我的第一个活动中有一个按钮,应该将我发送到第二个活动(问题所在),但是当我单击该按钮时,我的活动崩溃并显示此错误。当我单独尝试我的第二个活动时,它工作正常,但是当我附加我的 2 个项目时,错误弹出。


这是错误:


Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference

这是我的代码:


public class entery_names extends AppCompatActivity {


RelativeLayout layout;

RelativeLayout.LayoutParams params;

Button mBtn_add_et = null;

int id;

int i;

static int previousid;


@SuppressLint("NewApi")

@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    //Submit = (Button)loginDialog.findViewById(R.id.Submit);

    mBtn_add_et = findViewById(R.id.btn_add_et);


    mBtn_add_et.setOnClickListener(new View.OnClickListener() { // this line is the problem apparently

        @Override

        public void onClick(View view) {

            if (id <= 4) {

                EditText et = new EditText(entery_names.this);

                id = View.generateViewId();

                et.setId(id);

                layout = findViewById(R.id.relativeLayout);

                params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);

                params.addRule(RelativeLayout.BELOW, id);

                if (previousid == 0)

                    params.addRule(RelativeLayout.BELOW, R.id.et3);

                else

                    params.addRule(RelativeLayout.BELOW, previousid);

                previousid = et.getId();

                et.setHint("Enter Name");

                et.setHintTextColor(getResources().getColor(R.color.colorTransparentWhite));

                et.setTextColor(getResources().getColor(R.color.colorTransparentWhite));

                et.setX(findViewById(R.id.et1).getX());

                layout.addView(et, params);

            }

        }

    });

}

}


谢谢!


九州编程
浏览 201回答 2
2回答

至尊宝的传说

这一行:mBtn_add_et&nbsp;=&nbsp;findViewById(R.id.btn_add_et);产生一个空值。所以问题可能是:1) 没有Buttonwith id&nbsp;btn_add_etin&nbsp;activity_main,或者2) 你为你的活动夸大了错误的布局setContentView(R.layout.activity_main);

青春有我

下面几行是这里的罪魁祸首mBtn_add_et = findViewById(R.id.btn_add_et);mBtn_add_et.setOnClickListenermBtn_add_et为空,检查findViewById是否实际返回一个对象。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java