gpt4 book ai didi

java - 在 Android Studio 中实现 ArrayList 的最佳方式

转载 作者:太空狗 更新时间:2023-10-29 16:11:52 25 4
gpt4 key购买 nike

我在 ArrayList 中有 30 个项目,它在 Spinner 中实现,我把它放在这样的 java 文件中

ArrayList<String> listProblemSolving = new ArrayList<>();
listProblemSolving.add("List1");
listProblemSolving.add("List2");
listProblemSolving.add("List3");
listProblemSolving.add("List4");
listProblemSolving.add("List5");
listProblemSolving.add("List6");
listProblemSolving.add("List7");
...
ArrayAdapter<String> adapterProblemSolving = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_dropdown_item, listProblemSolving);

我在微调器中这样实现

sp.setAdapter(adapterProblemSolving);

问题是,我可以将列表项存储在字符串文件中吗?如果我想对项目列表进行不同的操作,有什么简单的方法吗,例如我试试这个

    sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (position == 1)
// do something

if (position == 2)
// do something

...
}

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

}
});

谢谢你,很抱歉你发现这是重复的问题。

最佳答案

您可以在 strings.xml 文件中创建一个字符串数组并在您的适配器中使用它。

例子如下:

<resources>
<string-array name="numbers">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</string-array>
</resources>

在你的activity中,你可以像下面的代码一样使用它:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String[] numbers = getResources().getStringArray(R.array.numbers);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_dropdown_item, numbers);
spinner.setAdapter(adapter);
}

关于java - 在 Android Studio 中实现 ArrayList 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44896404/

25 4 0