我是android中的新手,我正在尝试通过Intent函数接收变量,并根据变量的值来显示内容视图。
Bundle parametros = getIntent().getExtras();
String type = parametros.getString("tipo");
int accao = parametros.getInt("accao");
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (type=="medicamentos") {
Button voltar = (Button) findViewById(R.id.button1);
voltar.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent medIntent = new Intent(view.getContext(), Listar.class);
startActivityForResult(medIntent, 0);
}
});
if (accao==1)
setContentView(R.layout.adicionar_medicamentos);
if (accao==2)
setContentView(R.layout.editar_medicamentos);
}
}
我做错了什么?感谢
答案 0 :(得分:0)
使用equals()
比较字符串。
==
比较对象引用而不是它们的内容。
if(type.equals("medicamentos")) {
....
}
答案 1 :(得分:0)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String type = getIntent().getString("tipo");
int accao = getIntent().getInt("accao");
if (type != null && type.equals("medicamentos")) {
Button voltar = (Button) findViewById(R.id.button1);
voltar.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent medIntent = new Intent(view.getContext(), Listar.class);
startActivityForResult(medIntent, 0);
}
});
if (accao==1)
setContentView(R.layout.adicionar_medicamentos);
if (accao==2)
setContentView(R.layout.editar_medicamentos);
}
}