【发布时间】:2021-12-04 20:30:21
【问题描述】:
我想要做的是设置文本取决于用户选择的微调器项目。但是运行应用程序时没有任何显示,也没有错误。我是否错过了导致结果没有出来的任何步骤?我还是安卓新手。
更新:
我忘了说我有三个不同的微调器,这取决于用户在第一个活动中喜欢哪个按钮,所以我认为这是因为我只声明了微调器的项目,但没有声明哪个微调器是“日本”指的。
所以这是我的第一个活动的代码,我只会把一个放在第一位:
btnAsia.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(),MainActivity2.class);
intent.putExtra("continent", "asia");
startActivity(intent);
}
});
这是strings.xml中的字符串数组:
<string-array name="asia">
<item>Japan</item>
<item>Thailand</item>
<item>Vietnam</item>
<item>South Korea</item>
</string-array>
这是第二个活动中的代码:
private void DestinationSpinner()
{
Bundle bundle=getIntent().getExtras();
if(bundle!=null) {
String continent = bundle.getString("continent");
switch (continent) {
case "asia":
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(MainActivity2.this, R.array.asia, android.R.layout.simple_spinner_item); // Create an ArrayAdapter using the string array and a default spinner layout
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // Specify the layout to use when the list of choices appears
spinnerDestination.setAdapter(adapter); // Apply the adapter to the spinner
break; }
最后这是从微调器中检索所选项目的代码:
public void AvailableAirlines()
{
spinnerDestination.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String selected=spinnerDestination.getItemAtPosition(position).toString();
if (continent.equals("asia") && selected.equals("Japan"))
{
availableAirlines.setText("Available airports");
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
而且我还想将 keyidentifer 从第一个活动传递到第二个活动,但我尝试使用 getExtras 并且它不起作用,也许我做错了或什么。
【问题讨论】:
标签: java android android-spinner