我正在尝试使用2个意图,但一次只能使用其中一个。如果我删除一个然后另一个将工作,但如果我把它们放在一起然后只有其中一个在这里工作是我的代码
private void addReviews(String SName, String SFacility) {
Intent i = new Intent(getApplicationContext(), AddReview.class);
i.putExtra("Stations", SName);
startActivity(i);
Intent a = new Intent(getApplicationContext(), AddReview.class);
a.putExtra("Facilities", SFacility);
startActivity(a);
}
AddReview.class
TextView txtestablishment = (TextView) findViewById(R.id.TextViewStationReview);
Intent i = getIntent();
final String Stations = i.getStringExtra("Stations");
txtestablishment.setText("Add Review for " + Stations);
Intent a = getIntent();
String Ftype = a.getStringExtra("Facilities");
ArrayList<String> al = new ArrayList<String>(); {
String name = a.getStringExtra("Facilities");
StringTokenizer tokenizer = new StringTokenizer(name,",");
while(tokenizer.hasMoreElements()){
al.add((String)tokenizer.nextElement());
}
}
ArrayAdapter<String> aa1 = new ArrayAdapter<String>(
getApplicationContext(), R.layout.spinner_item, R.id.textView1,
al);
spFacilityType.setAdapter(aa1);
spFacilityType.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3){
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
这是一个无效的
Intent i = getIntent();
final String Stations = i.getStringExtra("Stations");
txtestablishment.setText("Add Review for " + Stations);
答案 0 :(得分:2)
你不能一次用2个意图开始2个活动。 (你会把它们放在屏幕上?)
答案 1 :(得分:1)
不确定为什么你要将两个不同的意图发送到同一个地方,只需将两个额外内容放在一个意图中并从中调用它们。查看您的代码,我无法看到两次调用相同活动的原因。
就这样做
Intent i = new Intent(getApplicationContext(), AddReview.class);
i.putExtra("Stations", SName);
i.putExtra("Facilities", SFacility);
startActivity(a);
答案 2 :(得分:0)
您的原始代码会启动两项活动,后者是可见的,当您关闭它时,您会看到第一项活动。我的猜测是您希望启动传递给它的多个元数据的单个活动。您可以通过意图传递几乎无限数量的额外内容。这些额外内容由该意图实例的唯一键标识(此处为#34; Stations&#34;&#34; Facilities&#34;)。
TL; DR:你最需要的东西是这样的:
private void addReviews(String SName, String SFacility) {
Intent i = new Intent(this, AddReview.class);
i.putExtra("Stations", SName);
i.putExtra("Facilities", SFacility);
startActivity(i);
}