如何将2个微调器放在1个具有相同选项的活动上?

问题描述 投票:-2回答:1

首先,我是使用此程序的新手,所以任何帮助表示赞赏。我需要微调器1来显示用户可以选择的7个城市,微调器2显示用户可以选择的相同7个城市。

我下面有一些代码,但我的导师说这是错的,它不适用于第二个微调器,我试图找到一种方法,但似乎可以这样做

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Spinner spinner = findViewById(R.id.spinner1);

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.Cities, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    spinner.setOnItemSelectedListener(this);
}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    String text = parent.getItemAtPosition(position).toString();
    Toast.makeText(parent.getContext(), text, Toast.LENGTH_SHORT).show();
}

@Override
public void onNothingSelected(AdapterView<?> parent)


{

}

}

微调器1意味着起始目的地,微调器2意味着它们将要到达的目的地。一旦用户选择了选项,它就会告诉他们从微调器1到微调器2的距离。(距离已经在表格中给我们了)

android spinner android-spinner
1个回答
0
投票

您的代码只包含一个微调器。

Spinner spinner = findViewById(R.id.spinner1);

在XML中定义另一个微调器,并将相同的适配器分配给新的微调器,并为每个微调器设置单独的OnItemSelectedListener

从每个微调器获取值(城市名称)并计算距离。

© www.soinside.com 2019 - 2024. All rights reserved.