2

每当我默认创建微调器时,它都会显示微调器中的第一个元素。我想在那个微调器上显示我自己的提示。

注意:- 我正在从 Web 服务接收数据。

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是一个接受来自网络服务的数据的类。

4

3 回答 3

1

使用 for 循环获取所有数据,并在此 for 循环中创建新的数组列表,当 i=0 时,不要添加数组列表数据并在微调器中设置新的数组列表

于 2013-01-01T12:48:03.623 回答
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); 
}
于 2013-01-01T13:13:54.440 回答
0

更改您initializeSpinner()以在第 '0' 索引处添加对象 -

 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); 
    }
于 2016-04-25T23:22:17.260 回答