【问题标题】:How to connect 2 different spinners altogether如何完全连接 2 个不同的微调器
【发布时间】:2010-09-20 16:19:32
【问题描述】:

我正在尝试将 2 个微调器连接在一起。这意味着,第二个微调器中的项目将取决于为第一个微调器选择的任何项目。

这是主 java 文件中的代码。

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
        this, R.array.planets_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

}

这是 MyOnItemSelectedListener.java 中的代码

公共类 MyOnItemSelectedListener 实现 OnItemSelectedListener {

public void onItemSelected(AdapterView<?> parent,
    View view, int pos, long id) {
  Toast.makeText(parent.getContext()), "The planet is " +
      parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
}

public void onNothingSelected(AdapterView parent) {
  // Do nothing.
}

}

因此 onItemSelected 函数将在屏幕上打印出在第一个微调器中选择的项目。但是,我不知道如何完全基于第一个微调器中的值来创建第二个微调器。

我知道在 onItemSelected 中应该有一些需要做的事情,但我只是想不通,因为我是 Java Android 的新手。

你们能帮我解决这个问题吗?

谢谢。

【问题讨论】:

    标签: android listener spinner


    【解决方案1】:

    您应该做一些与您在 onCreate 中所做的非常相似的事情,只是使用另一个微调器。例如:

    List<String> values = findValuesBySelection(parent.getItemAtPosition(pos).toString());
    Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, values, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner2.setAdapter(adapter);
    

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 2017-01-30
      • 1970-01-01
      • 1970-01-01
      • 2020-02-29
      • 1970-01-01
      • 2017-09-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多