【问题标题】:how do i put 2 spinners on 1 activity with same options?如何使用相同的选项将 2 个微调器放在 1 个活动上?
【发布时间】:2019-09-19 19:47:02
【问题描述】:

首先,我是使用此程序的新手,因此不胜感激。我需要微调器 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】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多