2015-04-28 30 views
-1
String options[] = new String[3]; 
    // options[0] = "Select IVC Option"; 
    int i =0; 
    IDataObject emailobject = inMemoryCache_getDataObject("EMAIL_CONTACT"); 
    IDataObject smsobject = inMemoryCache_getDataObject("SMS_CONTACT"); 
    IDataObject voicecallobject = inMemoryCache_getDataObject("VOICE_CONTACT"); 

    try { 
     if(emailobject != null){ 
      options [i] = "Email"; 
      i++; 
     } 
     if(smsobject != null){ 
      options [i] = "SMS"; 
      i++; 
     } 
     if(voicecallobject != null){ 
      options [i] = "VoiceCall"; 
      i++; 
     } 

    }catch (Exception e){ 

    }Spinner ivcoptions; ivcoptions = (Spinner)view.findViewById(R.id.spinner); 
    ArrayAdapter<String> x = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_spinner_item,options); 
    x.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    ivcoptions.setAdapter(x); 

當且僅當微調控件包含1個項目時,才需要禁用微調控制器單擊。 我試着用字符串數組長度進行控制。但它沒有幫助。如果僅包含1個項目,則使微調控制器單擊禁用

回答

1

如果要禁用微調產品Click事件,你需要更改適配器,但是如果你只是想防止微調被點擊,您只需將適配器上註冊數據觀測:

final Spinner ivcoptions = (Spinner) findViewById(R.id.spinner); 
final ArrayAdapter<String> x = new ArrayAdapter<>(this, 
     android.R.layout.simple_spinner_item,options); 
x.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

// Register a data observer 
x.registerDataSetObserver(new DataSetObserver() { 
    @Override 
    public void onChanged() { 
     super.onChanged(); 
     if (x.getCount() == 1) { 
      ivcoptions.setEnabled(false); 
     } else { 
      ivcoptions.setEnabled(true); 
     } 
    } 
}); 

// Set your adapter 
ivcoptions.setAdapter(x); 
相關問題