Android,微调项未显示
Android, spinner items not showing
这是我的代码,我无法在 Spinner 中添加项目。
不知道怎么回事,也找不到别的办法!
Java:
spinner = (Spinner)getView().findViewById(R.id.spinner);
String[] datos = getResources().getStringArray(R.array.items);
ArrayAdapter<String> adaptador = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_spinner_item, datos);
adaptador.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adaptador);
XML:
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner"
android:layout_margin="26dp"
android:textColor="#FFF"/>
strings.xml:
<string-array name="items">
<item >Item 1</item>
<item >Item 2</item>
<item >Item 3</item>
<item >Item 4</item>
</string-array>
在此先感谢您的帮助。
您的微调器文本颜色是白色:将其更改为其他颜色。
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner"
android:layout_margin="26dp"
android:textColor="#000000"/> //change this
您也可以直接访问布局中的数组资源。喜欢:
android:entries="@array/items" //add this in your spinner layout
编辑
您可以尝试为微调项使用自定义布局:
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:gravity="left"
android:background="#000000" //dark background
android:text="Test"
android:textColor="#ffffff" //white text
android:padding="5dp"
/>
使用布局:
ArrayAdapter<String> adaptador = new ArrayAdapter<String>(getActivity(),
R.layout.spinner_item, datos);
这里R.layout.spinner_item
是旋转器自定义布局
仅尝试此 XML
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner"
android:layout_margin="26dp"
android:textColor="@android:color/black"
android:entries="@array/items"/>
从活动中删除下方
String[] datos = getResources().getStringArray(R.array.items);
ArrayAdapter<String> adaptador = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_spinner_item, datos);adaptador.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adaptador);
<resources>
<string-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
<item>Jupiter</item>
<item>Saturn</item>
<item>Uranus</item>
<item>Neptune</item>
</string-array>
Spinner spinner = (Spinner) findViewById(R.id.spinner);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.planets_array, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);
在所选项目上
public class SpinnerActivity extends Activity implements OnItemSelectedListener {
...
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
// An item was selected. You can retrieve the selected item using
// parent.getItemAtPosition(pos)
}
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}
}
在那之前..
spinner.setOnItemSelectedListener(this);
在我的例子中,只是在 XML 文件中添加了一些填充。
<Spinner android:id="@+id/spinnerMuestreo"
android:layout_toEndOf="@+id/textViewNumMuestreo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp" <!--Try adding this line. -->
/>
这是我的代码,我无法在 Spinner 中添加项目。 不知道怎么回事,也找不到别的办法!
Java:
spinner = (Spinner)getView().findViewById(R.id.spinner);
String[] datos = getResources().getStringArray(R.array.items);
ArrayAdapter<String> adaptador = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_spinner_item, datos);
adaptador.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adaptador);
XML:
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner"
android:layout_margin="26dp"
android:textColor="#FFF"/>
strings.xml:
<string-array name="items">
<item >Item 1</item>
<item >Item 2</item>
<item >Item 3</item>
<item >Item 4</item>
</string-array>
在此先感谢您的帮助。
您的微调器文本颜色是白色:将其更改为其他颜色。
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner"
android:layout_margin="26dp"
android:textColor="#000000"/> //change this
您也可以直接访问布局中的数组资源。喜欢:
android:entries="@array/items" //add this in your spinner layout
编辑
您可以尝试为微调项使用自定义布局:
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:gravity="left"
android:background="#000000" //dark background
android:text="Test"
android:textColor="#ffffff" //white text
android:padding="5dp"
/>
使用布局:
ArrayAdapter<String> adaptador = new ArrayAdapter<String>(getActivity(),
R.layout.spinner_item, datos);
这里R.layout.spinner_item
是旋转器自定义布局
仅尝试此 XML
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner"
android:layout_margin="26dp"
android:textColor="@android:color/black"
android:entries="@array/items"/>
从活动中删除下方
String[] datos = getResources().getStringArray(R.array.items);
ArrayAdapter<String> adaptador = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_spinner_item, datos);adaptador.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adaptador);
<resources>
<string-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
<item>Jupiter</item>
<item>Saturn</item>
<item>Uranus</item>
<item>Neptune</item>
</string-array>
Spinner spinner = (Spinner) findViewById(R.id.spinner);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.planets_array, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);
在所选项目上
public class SpinnerActivity extends Activity implements OnItemSelectedListener {
...
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
// An item was selected. You can retrieve the selected item using
// parent.getItemAtPosition(pos)
}
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}
}
在那之前..
spinner.setOnItemSelectedListener(this);
在我的例子中,只是在 XML 文件中添加了一些填充。
<Spinner android:id="@+id/spinnerMuestreo"
android:layout_toEndOf="@+id/textViewNumMuestreo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp" <!--Try adding this line. -->
/>