为什么第二个微调器没有边距/填充

时间:2016-06-17 04:38:40

标签: android android-layout spinner

这些是我的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" />

它们的外观如下:spinner1spinner2

到目前为止,我在其他帖子中找不到与其他人类似的事情,想知道是否有人遇到过这个问题。

以下是我的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);
}

1 个答案:

答案 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);
该死的复制/粘贴错误!大声笑。花了我几天才发现这一点。我想我需要休息一下......