【发布时间】:2017-08-21 23:25:03
【问题描述】:
我在设置微调器选择时遇到问题。这是我正在做的事情: 我有一个 XML,其中有一个按钮和一个填充有国家名称的微调器。我没有使用适配器来填充微调器,而是在 values 文件夹中的字符串文件中命名了一个数组,其中有很多项目作为国家名称。现在在选择一个国家时,假设我选择英格兰并单击按钮。单击一个新活动将开始,该活动也有一个微调器,该微调器以相同的方式填充相同的列表。但我想要的是第二个活动微调器应该显示在这种情况下为英格兰的选定国家作为微调器中的当前项目。 但我无法解决。 这是我所做的一段代码
//第一个活动XML
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/sehirler"
android:prompt="@string/sehirsec" />
//第二个活动XML
<Spinner
android:id="@+id/spinner2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/sehirler"
android:prompt="@string/sehirsec" />
//第一个活动代码
spinner = (Spinner)findViewById(R.id.spinner1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
spinnerItem = spinner .getSelectedItem().toString();
Intent intent = new Intent(firstactivity.this, secondactivty.class);
intent.putExtra("name", spinnerItem);
startActivity(intent);
}
});
//第二个活动代码
sehir = (Spinner)findViewById(R.id.spinner2);
Intent intent = getIntent();
String name2 = intent.getExtras().getString("name");
sehir.setSelection(getIndex(sehir, name2));
private int getIndex(Spinner spinner, String myString) {
int index = 0;
for (int i=0;i<spinner.getCount();i++) {
if (spinner.getItemAtPosition(i).equals(myString)) {
index = i;
}
}
return index;
}
}
【问题讨论】:
-
我已经尝试过你的代码,它对我一直运行良好,一直到 Gingerbread。当您创建方法“private int getIndex(Spinner spinner etc...”时,您是在 onCreate 之外创建方法...对吗?
-
是的,在 onCreate 之外。我为你工作得好吗?
-
是的,它对我有用,你能发布你的完整代码,或者私信我
-
请PM我,我不知道该怎么做,哈哈
-
给我发电子邮件 andrewelmasry@gmail.com
标签: android xml android-layout