2

在我的程序中使用带有自定义适配器的微调控制器。该适配器:使用自定义适配器的微调器显示所选项目Android

private class lenguageSpinnerAdapter extends BaseAdapter implements 
     SpinnerAdapter { 

    private ArrayList<String> lenguages; 

    public lenguageSpinnerAdapter(Context context, 
      ArrayList<String> lenguages) { 
     this.lenguages = lenguages; 
    } 

    public int getCount() { 
     return lenguages.size(); 
    } 

    public Object getItem(int position) { 
     return lenguages.get(position); 
    } 

    public long getItemId(int position) { 
     return position; 
    } 

    public View getView(int position, View convertView, ViewGroup parent) { 
     if (convertView == null) { 
      // This a new view we inflate the new layout 
      LayoutInflater inflater = (LayoutInflater) context 
        .getApplicationContext().getSystemService(
          Context.LAYOUT_INFLATER_SERVICE); 
      convertView = inflater.inflate(R.layout.lenguage_item_layout, 
        parent, false); 
     } 

     TextView lenguage = (TextView) convertView 
       .findViewById(R.id.textViewLenguage); 
     lenguage.setText(lenguages.get(position).toString()); 


     return convertView; 
    } 

} 

我在活动中使用该适配器:

ArrayList<String> spinnerArray = new ArrayList<String>(); 
    spinnerArray.add("IT"); 
    spinnerArray.add("EN"); 
    spinnerArray.add("PR"); 

    final lenguageSpinnerAdapter lenguageAdapter = new lenguageSpinnerAdapter(
      getContext(), spinnerArray); 
    spinnerLenguage.setAdapter(lenguageAdapter); 

的问题是,这种微调节目总是三个lenguages,但我想他只显示未选择语言(如果选择了IT,EN和PR;如果选择了EN,则选择IT和PR)。有任何想法吗?

回答

2
spinnerLenguage.setOnItemSelectedListener(new OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> arg0, View arg1, 
       int position, long arg3) { 

      // Build your new array 
      // Build your new adapter 
      // Set your new adapter to spinnerLenguage 

     } 

     @Override 
     public void onNothingSelected(AdapterView<?> arg0) { 
      // TODO Auto-generated method stub 

     } 
    }); 
+0

好,非常感谢 – hasmet

相关问题