gpt4 book ai didi

java - Android 中的动态旋转器(一般工作流程问题)

转载 作者:行者123 更新时间:2023-12-01 15:54:55 26 4
gpt4 key购买 nike

像这样one ,我在这个网站上看到了一些操作方法,但说实话,我并没有真正理解它。

我希望一个旋转器的内容基于之前的旋转器选​​择,就像在州和城市场景中一样。一般来说,工作流程是怎样的?第二个旋转器的结果是根据第一个旋转器过滤的,还是第二个旋转器指向基于第一个旋转器的完全不同的列表?

对于我自己的简单学习项目,我在 strings.xml 中构建了几个字符串数组(AL-Cities、AK-Cities、AR-Cities 等)。我希望城市旋转器根据州旋转器的选择从正确的数组中填充。但我想知道我是否应该只拥有一个大型多维“城市”数组,其中包含州缩写作为附加标识符,然后使用州缩写作为过滤器将第二个旋转器指向该数组。看起来前者会提供更好的性能。

任何帮助(和代码示例)将不胜感激。我对编程并不陌生(主要是php,所以我想脚本编写更准确),但我对java很陌生。到目前为止,我的代码未链接旋转器,第二个旋转器指向未区分的 city_array。

谢谢!

public class Example1 extends Activity {

/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.example1);

Spinner spinState = (Spinner) findViewById(R.id.spin_state);
ArrayAdapter<CharSequence> adapter3 = ArrayAdapter.createFromResource(
this, R.array.state_array, android.R.layout.simple_spinner_item);
adapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinState.setAdapter(adapter3);

Spinner spinCity = (Spinner) findViewById(R.id.spin_city);
ArrayAdapter<CharSequence> adapter4 = ArrayAdapter.createFromResource(
this, R.array.city_array, android.R.layout.simple_spinner_item);
adapter4.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinCity.setAdapter(adapter4);
}
}

最佳答案

您可以尝试从您选择的第一个微调器中获取位置,然后根据该位置检索正确的数组后填充第二个微调器。

您必须监听第一个适配器是否被更改:

    spinner. setOnItemSelectedListener(new MyOnItemSelectedListener());


class MyOnItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
String choice = parent.getItemAtPosition(pos).toString();
populateSecondSpinnerMethod(choice)
}
}
public void onNothingSelected(AdapterView parent) { // Do nothing.
}
}

关于java - Android 中的动态旋转器(一般工作流程问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5263848/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com