这些是我的string arrays
,效果很好:
<string-array name="spinner1">
<item>KB</item>
<item>MB</item>
<item>GB</item>
<item>TB</item>
</string-array>
<string-array name="spinner2">
<item>Kb/s</item>
<item>Mb/s</item>
<item>Gb/s</item>
<item>Tb/s</item>
</string-array>
这是XML:
<android.support.v7.widget.AppCompatSpinner
android:spinnerMode="dropdown"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/spinner1"
android:layout_weight="20"
android:layout_gravity="center_vertical" />
<android.support.v7.widget.AppCompatSpinner
android:spinnerMode="dropdown"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/spinner2"
android:layout_weight="20"
android:layout_gravity="center_vertical" />
到目前为止,我在其他帖子中找不到与其他人类似的事情,想知道是否有人遇到过这个问题。
以下是我的MainActivity.java的OnCreate()中的内容:
final Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
final Spinner spinner = (Spinner) findViewById(R.id.spinner1);
LoadSpin(spinner, spinner2);
然后在OnCreate之外我有LoadSpin()方法:
public void LoadSpin(Spinner spin, Spinner spin2) {
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.spinner1, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin.setAdapter(adapter);
ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this,
R.array.spinner2, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin2.setAdapter(adapter2);
}
答案 0 :(得分:1)
Aaaaand现在我发现了我的错误。就在我编辑这个问题的时候,我意识到我的adapter2没有正确设置setDropDownViewResource,因为我错误输入&#34; adapter&#34;而不是&#34; adapter2&#34;复制/粘贴时:
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin2.setAdapter(adapter2);
所以我只需要通过这样做来纠正它:
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin2.setAdapter(adapter2);
该死的复制/粘贴错误!大声笑。花了我几天才发现这一点。我想我需要休息一下......