2012-03-21 70 views
1

上午在Android中使用微调与布局(android.R.layout.simple_spinner_dropdown_item) 因为我需要那里的单选按钮,但在我选择一个值后,单选按钮仍显示在微调。他们有什么方法可以隐藏它?隐藏单选按钮从微调选择值

这是我的微调:

 <Spinner 
       android:id="@+id/Spinner01" 
       android:layout_width="fill_parent" 
       android:layout_height="40dip" 
       android:layout_gravity="left" 
       android:background="@drawable/spin" > 

     </Spinner> 

,这是活动行:

ArrayAdapter first_adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, start_list); 
     spinnermo.setAdapter(first_adapter); 

,这是选择后微调: OOO我不能dispaly图像,但其simmiler本:

seleced text (0)

回答

0

使用此代码你可以隐藏你的微调。

spinnermo.setVisibility(View.GONE); 

,如果你想隐藏单选按钮,使用相同的代码

radioButton.setVisibility(View.GONE); 
+0

感谢MI已经得到的答案是放置2布局的一个微调:android.R.layout.simple_spinner_item和其他ondropdown:android.R.layout.simple_spinner_dropdown_item – user1274213 2012-03-21 14:40:53

0

是创建两个布局,因为一旦你实现ArrayAdapter它将有两种方法可以overridded getView和getDropDownView

  1. 对于getDropDownView,您必须创建一个带有TextView的布局并在其中设置相应的值

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
 
    android:id="@android:id/your_own_unique_id_for_checkedtextview" 
 
    style="?android:attr/spinnerDropDownItemStyle" 
 
    android:singleLine="true" 
 
    android:layout_width="match_parent" 
 
    android:layout_height="?android:attr/dropdownListPreferredItemHeight" 
 
    android:ellipsize="marquee"/>

  • 为getView必须创建与CheckedTextView布局并调用相应的方法
  • <TextView xmlns:android="http://schemas.android.com/apk/res/android" 
     
        android:id="@+id/your_own_unique_id_for_textview" 
     
        style="?android:attr/spinnerItemStyle" 
     
        android:singleLine="true" 
     
        android:layout_width="match_parent" 
     
        android:layout_height="wrap_content" 
     
        android:ellipsize="marquee" 
     
        android:textAlignment="inherit"/>

    然后在您的自定义适配器类

    覆盖的方法来访问上述数值分别

    @Override 
     
        public View getDropDownView(int position, View convertView,ViewGroup parent) { 
     
         return getCustomCheckedTextView(position, convertView, parent); 
     
        } 
     
    
     
        @Override 
     
        public View getView(int position, View convertView, ViewGroup parent) { 
     
         return getCustomTextView(position, convertView, parent); 
     
        } 
     
    
     
        // This funtion called for each row (Called data.size() times) 
     
        public View getCustomCheckedTextView(int position, View convertView, ViewGroup parent) { 
     
    
     
         /********** Inflate spinner_rows.xml file for each row (Defined below) ************/ 
     
         View row = inflater.inflate(R.layout.your_own_layoutxml_file_name, parent, false); 
     
    
     
         /***** Get each Model object from Arraylist ********/ 
     
         
     
         CheckedTextView label  = (CheckedTextView)row.findViewById(R.id.your_own_id_for_checkedtextview); 
     
         // Set values for spinner each row 
     
         label.setText("value"); 
     
    
     
    
     
         return row; 
     
        } 
     
    
     
        // This funtion called for each row (Called data.size() times) 
     
        public View getCustomTextView(int position, View convertView, ViewGroup parent) { 
     
    
     
         /********** Inflate spinner_rows.xml file for each row (Defined below) ************/ 
     
         View row = inflater.inflate(R.layout.your_own_layout_xml_file_name_for_textview, parent, false); 
     
    
     
         TextView label  = (TextView)row.findViewById(R.id.your_text_view_id_name); 
     
         // Set values for spinner each row 
     
         label.setText("value"); 
     
    
     
         return row; 
     
        }