Java 有各种可能的布局

Java 有各种可能的布局,java,android,layout,if-statement,spinner,Java,Android,Layout,If Statement,Spinner,所以我试图创建一个活动,将一些值传递到另一个活动中,然后根据这些值,从几个不同的布局中选择一个 我知道这些值可以很好地传递,但它不会显示布局(或任何布局,它只是停留在上一个屏幕上)。我的代码是: public class ContactDisplay extends GetContact { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

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

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

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地址,它应该可以工作。有人知道我哪里出错了吗?

请使用以下代码:

   if((transportItemChosen.equals("Michael")) && (locationItemChosen.equals("Michaels Address"))){
        setContentView(R.layout.contact1_layout);
    }
在Java中,比较字符串时要使用equals()函数,而不是==运算符。

请使用以下代码:

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

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

第一个想法是,我会尽量不使用硬编码的值作为附加值,因为您可能会拼写错误,而且很容易卡住。。。如果这不是问题所在,请尝试制作一些日志,查看您在
TransportItemSelected
LocationItemSelected

编辑:


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

第一个想法是,我会尽量不使用硬编码值作为附加值,因为你可能会拼错一些东西,而且很容易卡住。。。如果这不是问题所在,请尝试制作一些日志,查看您在
TransportItemSelected
LocationItemSelected

编辑:

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