每当我默认创建一个微调器时它会在微调器中显示第一个元素。我想在那个微调器上显示我自己的暗示。
注意: - 我正在接收来自网络服务的数据。
XML
<Spinner
android:id="@+id/spinnerAtlasContactSignup"
android:layout_width="200dip"
android:layout_height="46dp"
android:layout_below="@+id/editCompanySignup"
android:layout_marginBottom="60dp"
android:layout_marginTop="10dp"
android:background="@drawable/slect_box1x"
android:ems="10"
android:padding="10dp"
android:prompt="@string/atlas_contact" />
代码 -
private void initializeSpinner(ArrayList<AtlasContact> atlastContacts) {
ArrayAdapter<AtlasContact> adapter = new ArrayAdapter<AtlasContact>(this,android.R.layout.simple_spinner_item, atlastContacts);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinnerAtlasContact.setAdapter(adapter);
此处AtlasContact
是一个接受来自Web服务的数据的类。
答案 0 :(得分:1)
使用for循环获取所有数据,并在此for循环中创建新的arraylist并且当i = 0时 所以不要添加数组列表数据并在微调器中设置新的数组列表
答案 1 :(得分:1)
您可以尝试以下
private void initializeSpinner(ArrayList<AtlasContact> atlastContacts) {
ArrayList<AtlasContact> atlastContactsDuplicate ;
For (int i= 0 ; i < atlastContacts+1 ; i++){
if (i==0){
atlastContactsDuplicate.add("") ; //this is null object which can be
//adjust weight space
}
else
atlastContactsDuplicate.add(atlastContacts.get(i)) ;
}
ArrayAdapter<AtlasContact> adapter = new ArrayAdapter<AtlasContact>(this,android.R.layout.simple_spinner_item, atlastContactsDuplicate);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinnerAtlasContact.setAdapter(adapter);
}
答案 2 :(得分:0)
更改您的initializeSpinner()
,将您的对象添加到&#39; 0&#39;指数 -
private void initializeSpinner(ArrayList<AtlasContact> atlastContacts) {
atlastContacts.add(0, new AtlasContact()); //Set the properties of the anonymous object to what you want.
ArrayAdapter<AtlasContact> adapter = new ArrayAdapter<AtlasContact>(this,android.R.layout.simple_spinner_item, atlastContacts);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinnerAtlasContact.setAdapter(adapter);
}