有各种可能的布局

时间:2011-12-08 21:46:21

标签: java android layout if-statement spinner

所以我试图创建一个将一些值传递给另一个活动的活动,然后根据这些值选择几种不同布局中的一种。

我知道值传递得很好,但它不会显示布局(或任何布局,它只是停留在前一个屏幕上)。我的代码是:

public class ContactDisplay extends GetContact {
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        Bundle extras = getIntent().getExtras();
        String nameChosen = extras.getString("nameSpinner");
       String addressChosen = extras.getString("addressSpinner");

        if((nameChosen == "Michael") && (addressChosen == "Michaels Address")){
            setContentView(R.layout.contact1_layout);
        }

    }
} 

到目前为止,我只使用其中一个布局设置它,但如果选择了Michael和Michaels地址,它应该可以工作。有谁知道我哪里出错了?

2 个答案:

答案 0 :(得分:3)

请改用此代码:

   if((transportItemChosen.equals("Michael")) && (locationItemChosen.equals("Michaels Address"))){
        setContentView(R.layout.contact1_layout);
    }

在Java中,您希望在比较字符串而不是==运算符时使用equals()函数。

答案 1 :(得分:0)

首先想到的是,我会尝试不使用硬编码值来添加额外内容,因为你可能会拼错而且很容易卡住...如果不是问题那么请尝试制作一些日志然后看看是什么确切地说,您会在transportItemChosenlocationItemChosen

中收到

编辑:

是的,要比较两个Objects,您必须使用equals()方法而不是==运算符。