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()
方法,而不是==运算符