我有一个NullPointerException,我无法摆脱它,我可以使用一些帮助,请:)
因此,我在第一个活动中有一个按钮,应该将我发送到该第二个活动(问题出在哪里),但是当我单击该按钮时,我的活动崩溃并显示此错误。 当我自己尝试第二个活动时,它工作正常,但是当我附加两个项目时,错误弹出。
这是错误:
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);
}
}
});
}
这是我的代码:
autoscan
}
谢谢!
答案 0 :(得分:0)
下面的几行是罪魁祸首
mBtn_add_et = findViewById(R.id.btn_add_et);
mBtn_add_et.setOnClickListener
mBtn_add_et
为空,请检查 findViewById 是否实际返回对象。
答案 1 :(得分:0)
此行:
mBtn_add_et = findViewById(R.id.btn_add_et);
产生一个空值。
因此问题可能是:
1)Button
中没有btn_add_et
且ID为activity_main
的
2)您为
setContentView(R.layout.activity_main);