在 Android Studio 中实现 ArrayList 的最佳方法
Posted
技术标签:
【中文标题】在 Android Studio 中实现 ArrayList 的最佳方法【英文标题】:Best way to implement ArrayList in Android Studio 【发布时间】:2017-12-07 08:41:08 【问题描述】:我在 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)
);
谢谢你,很抱歉你发现这是重复的问题。
【问题讨论】:
【参考方案1】:您可以在您的 strings.xml 文件中创建一个字符串数组并在您的适配器中使用它。
示例如下:
<resources>
<string-array name="numbers">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</string-array>
</resources>
在您的活动中,您可以像以下代码一样使用它:
@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);
【讨论】:
【参考方案2】:好吧,如果你的条目是简单的字符串,那么你可以试试这个
在您的 strings.xml 中
<string-array name="data_array">
<item>value 1</item>
<item>value 2</item>
<item>value 3</item>
</string-array>
在微调器的 xml 布局中
<Spinner
...
...
android:entries="@array/data_array" />
【讨论】:
谢谢,但如果我以编程方式创建微调器,我该如何实现它? 你必须使用适配器。您可以直接使用 xml 中的 string_array。 Arrayadapter.createFromResource(....)以上是关于在 Android Studio 中实现 ArrayList 的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章
在 Android Studio 中实现 ArrayList 的最佳方法
Android Studio:如何从 Fragment 在 ActionBar 中实现后退按钮
Android Studio 如何在 LinearLayout 元素中实现锚链接?