首先,我是使用此程序的新手,所以任何帮助表示赞赏。我需要微调器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的距离。(距离已经在表格中给我们了)
您的代码只包含一个微调器。
Spinner spinner = findViewById(R.id.spinner1);
在XML中定义另一个微调器,并将相同的适配器分配给新的微调器,并为每个微调器设置单独的OnItemSelectedListener
。
从每个微调器获取值(城市名称)并计算距离。