我在我的 Android 项目中尝试在屏幕之间导航时遇到了一些问题。我还没有创建其他活动类,我只是试图通过 SetContentView(R.layout.XXX) 打开其他 XML 文件。这是我的主要活动:
package com.android.eduardo.navegacao;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class NavegacaoActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
chamaTelaPrincipal();
Button btCadastro = (Button) findViewById(R.id.btCadastro);
btCadastro.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
chamaCadastro();
}
});
Button btConsulta = (Button) findViewById(R.id.btConsulta);
btConsulta.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
chamaConsulta();
}
});
Button btVoltar1 = (Button) findViewById(R.id.btVoltar);
btVoltar1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
chamaTelaPrincipal();
}
});
}
public void chamaCadastro(){
setContentView(R.layout.activity_cadastro);
}
public void chamaConsulta(){
setContentView(R.layout.activity_consulta);
}
public void chamaTelaPrincipal(){
setContentView(R.layout.activity_navegacao);
}
}
如您所见,“R.layout.activity_navegacao”是我的主要布局。当我尝试执行此代码时,应用程序关闭并且我收到 NullPointerException 错误,表明 SetContentView 存在一些问题。
当我剪切最后一个 setOnClickListener(按钮“btVoltar”)的代码时,它可以工作,我可以打开另外两个屏幕。其他 XML 正在使用按钮“btVoltar”返回主屏幕 (activity_navegacao)。
我已经在 R 类上检查了 XML 的 id,没关系。在我执行项目之前,我也不会收到任何错误通知。抱歉英语不好,如果你们能帮助我,我很感激。