Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 总是运行相同的选项卡_Java_Android - Fatal编程技术网

Java 总是运行相同的选项卡

Java 总是运行相同的选项卡,java,android,Java,Android,我有一个类,我在其中创建了三个选项卡 代码如下 public类选项卡扩展TabActivity{ 创建时的公共void(Bundle savedinstanceState){ super.onCreate(savedinstanceState); setContentView(R.layout.tab); Bundle Bundle=getIntent().getExtras(); String idReunion=bundle.getString(“idReunion”); String no

我有一个类,我在其中创建了三个选项卡

代码如下

public类选项卡扩展TabActivity{
创建时的公共void(Bundle savedinstanceState){
super.onCreate(savedinstanceState);
setContentView(R.layout.tab);
Bundle Bundle=getIntent().getExtras();
String idReunion=bundle.getString(“idReunion”);
String nombreProyecto=bundle.getString(“nombre_proyecto”);
TabHost TabHost=getTabHost();
TabHost.TabSpec;
意图;
Resources res=getResources();
intent=新intent();
意向。额外(“idReunion”,idReunion);
意向。额外(“项目名称”,项目名称);
intent.setClass(这是PestanaSinAsignar.class);
spec=tabHost.newTabSpec(“Pestaña 1”).setIndicator(“Sin asignar”).setContent(intent);
tabHost.addTab(spec);
意向。额外(“idReunion”,idReunion);
意向。额外(“项目名称”,项目名称);
intent.setClass(这个,PestanaAsignadas.class);
spec=tabHost.newTabSpec(“Pestaña 2”).setIndicator(“Asignadas”).setContent(intent);
tabHost.addTab(spec);
意向。额外(“idReunion”,idReunion);
意向。额外(“项目名称”,项目名称);
intent.setClass(这个,PestanaAsignadaOtros.class);
spec=tabHost.newTabSpec(“Pestaña 3”).setIndicator(“AsignadasUsuarios”).setContent(intent);
tabHost.addTab(spec);
}
}
问题是,当我单击选项卡2或3时,始终会执行代码PestanaAsignadaOtros类,该类是与选项卡3关联的类

按tab 2运行PestanaAsignadas类代码,按tab 3运行类代码AsignadaOtros Pestana,这是合乎逻辑的


为什么总是运行PestanaAsignadaOtros代码?

您对所有3个选项卡使用相同的意图。调用setContent后对意图所做的更改仍将发生。相反,您应该创建3个意图,像上面那样设置它们的属性,并使用setContent添加它们。

您对所有3个选项卡使用相同的意图。调用setContent后对意图所做的更改仍将发生。相反,您应该创建3个意图,像上面那样设置它们的属性,并使用setContent添加它们。

您需要为每个选项卡创建不同的意图,目前您正试图将相同的意图用于三个不同的目的:

TabHost TabHost=getTabHost();
//第一选项卡
TabSpec firstspec=tabHost.newTabSpec(“列表”);
//设置选项卡的标题
listspec.setIndicator(“列表视图”);
Intent firstIntent=新的Intent(这个,AddressActivity.class);
firstIntent.putExtra(“位置”,位置);
firstspec.setContent(firstIntent);
//第二选项卡
TabSpec secondspec=tabHost.newTabSpec(“映射”);
第二种规格设置指示器(“地图视图”);
Intent secondIntent=新的Intent(这个,MapActivity.class);
第二意图。额外(“位置”,位置);
secondspec.setContent(secondIntent);
TabSpec thirdspec=tabHost.newTabSpec(“第三”);
第三种设定指示器(“第三视图”);
Intent thirdIntent=新Intent(this,ThirdActivity.class);
第三项额外(“位置”,位置);
第三种设置内容(第三种);
//将所有TabSpec添加到TabHost
tabHost.addTab(firstspec);//第一选项卡
tabHost.addTab(secondspec);//第二选项卡
tabHost.addTab(thirdspec);//第三选项卡

您需要为每个选项卡创建不同的意图,目前您正试图将相同的意图用于三个不同的目的:

TabHost TabHost=getTabHost();
//第一选项卡
TabSpec firstspec=tabHost.newTabSpec(“列表”);
//设置选项卡的标题
listspec.setIndicator(“列表视图”);
Intent firstIntent=新的Intent(这个,AddressActivity.class);
firstIntent.putExtra(“位置”,位置);
firstspec.setContent(firstIntent);
//第二选项卡
TabSpec secondspec=tabHost.newTabSpec(“映射”);
第二种规格设置指示器(“地图视图”);
Intent secondIntent=新的Intent(这个,MapActivity.class);
第二意图。额外(“位置”,位置);
secondspec.setContent(secondIntent);
TabSpec thirdspec=tabHost.newTabSpec(“第三”);
第三种设定指示器(“第三视图”);
Intent thirdIntent=新Intent(this,ThirdActivity.class);
第三项额外(“位置”,位置);
第三种设置内容(第三种);
//将所有TabSpec添加到TabHost
tabHost.addTab(firstspec);//第一选项卡
tabHost.addTab(secondspec);//第二选项卡
tabHost.addTab(thirdspec);//第三选项卡