我需要创建一个在每次单击按钮时显示一个数字的应用程序,我已尽力而为,但模拟器却像“您的应用程序已停止”一样。我一直在寻找Internet中的解决方案,但我不知道问题出在哪里。有人可以帮我吗?我已经在这里呆了几个小时。
谢谢!
public class MainActivity extends AppCompatActivity {
private Button btnSumar;
private TextView txtResultado;
private TextView txtLaboratorio;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
txtLaboratorio = findViewById(R.id.TVLaboratorio);
btnSumar= findViewById(R.id.btnSumar);
txtResultado= findViewById(R.id.TVResultado);
setContentView(R.layout.activity_main);
btnSumar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int suma = Integer.valueOf(txtResultado.getText().toString());
suma+=2;
}
});
}
}
答案 0 :(得分:0)
您正在尝试在设置/绑定活动布局之前初始化窗口小部件。这样会产生15.9.17
。
NullPointerException
在初始化小部件之前添加txtLaboratorio = findViewById(R.id.TVLaboratorio);
btnSumar = findViewById(R.id.btnSumar);
txtResultado = findViewById(R.id.TVResultado);
setContentView(R.layout.activity_main); // <<====== wrong
部分。
setContentView(R.layout.activity_main);
答案 1 :(得分:0)
You are not initiate controls before initialize layout(view).
因此,setContentView(R.layout.activity_main)
出现了问题,您必须在super.onCreate(savedInstanceState);
之后定义视图瞬间
尝试以下代码:
public class MainActivity extends AppCompatActivity {
private Button btnSumar;
private TextView txtResultado;
private TextView txtLaboratorio;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtLaboratorio = findViewById(R.id.TVLaboratorio);
btnSumar= findViewById(R.id.btnSumar);
txtResultado= findViewById(R.id.TVResultado);
btnSumar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int suma = Integer.valueOf(txtResultado.getText().toString());
suma+=2;
}
});
}
}