无法同时显示 2 个意图
Unable to display 2 intents together
我正在尝试使用 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);
您不能同时启动具有 2 个意图的 2 个活动。 (你会把它们放在屏幕上的什么位置?)
不确定为什么要将两个不同的意图发送到同一个地方,只需将两个额外的都放在一个意图中并从中调用它们。查看您的代码,我看不出有理由调用相同的 activity 两次。
就这样做
Intent i = new Intent(getApplicationContext(), AddReview.class);
i.putExtra("Stations", SName);
i.putExtra("Facilities", SFacility);
startActivity(a);
您的原始代码启动了两个活动,后者是可见的,当您关闭它时,您将是第一个。我的猜测是 你想开始单个 activity 并传递给它的多个元数据。您可以通过意图传递几乎无限数量的额外内容。这些额外内容由该意图实例的唯一键标识(此处 "Stations" 和 "Facilities")。
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);
}
我正在尝试使用 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);
您不能同时启动具有 2 个意图的 2 个活动。 (你会把它们放在屏幕上的什么位置?)
不确定为什么要将两个不同的意图发送到同一个地方,只需将两个额外的都放在一个意图中并从中调用它们。查看您的代码,我看不出有理由调用相同的 activity 两次。
就这样做
Intent i = new Intent(getApplicationContext(), AddReview.class);
i.putExtra("Stations", SName);
i.putExtra("Facilities", SFacility);
startActivity(a);
您的原始代码启动了两个活动,后者是可见的,当您关闭它时,您将是第一个。我的猜测是 你想开始单个 activity 并传递给它的多个元数据。您可以通过意图传递几乎无限数量的额外内容。这些额外内容由该意图实例的唯一键标识(此处 "Stations" 和 "Facilities")。
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);
}