为什么第二个微调器没有 margins/paddings
Why does the second spinner doesn't have margins/paddings
这些是我的 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);
}
Aaaa 现在我发现了我的错误。就在我编辑这个问题时,我意识到我的 adapter2 没有正确设置 setDropDownViewResource,因为我输入错误 "adapter" 而不是 "adapter2" 而 copy/pasting:
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin2.setAdapter(adapter2);
所以我只需要通过这样做来纠正它:
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin2.setAdapter(adapter2);
该死的copy/paste错误!哈哈。我花了几天时间才发现这一点。觉得我需要休息一下...
这些是我的 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);
}
Aaaa 现在我发现了我的错误。就在我编辑这个问题时,我意识到我的 adapter2 没有正确设置 setDropDownViewResource,因为我输入错误 "adapter" 而不是 "adapter2" 而 copy/pasting:
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin2.setAdapter(adapter2);
所以我只需要通过这样做来纠正它:
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin2.setAdapter(adapter2);
该死的copy/paste错误!哈哈。我花了几天时间才发现这一点。觉得我需要休息一下...