使用变量定义setContentView

时间:2013-03-12 17:00:38

标签: java android

我是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);
    }
}

我做错了什么?感谢

2 个答案:

答案 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);
}

}