2017-04-07 91 views
-1
private Spinner spinnerMonth; 

public View onCreateView(LayoutInflater inflater 
     , @Nullable ViewGroup container 
     , @Nullable Bundle savedInstanceState) { 
    super.onCreateView(inflater, container, savedInstanceState); 
    _view = inflater.inflate(R.layout.fragment_spinnerMonth, container, false); 
    // Month 
    spinnerMonth = (Spinner) _view.findViewById(R.id.spinnerMonth); 
    spinnerMonth.setAdapter(monthAdapter); 
    spinnerMonth.setSelection(_selectedMonth - 1); 
    return _view; 
} 

private void saveData() { 
    spinnerMonth.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { 
     Log.d("month",i);   
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> adapterView) { 
     } 
    }); 
} 

我上面的代码。如果我确定全局微调,onItemSelected不起作用。如果我确定一个本地Spinner,那就是工作。为什么会发生?我需要一个全局微调。微调onItemSelected不起作用

+0

写入喷丝onitemclicklistner创建方法 – Redman

+0

当SAVEDATA()将执行? – ViramP

+1

宾果游戏的主要问题是'private void saveData()'把这段代码放在onCreateView ... listner应该在创建方法上设置视图..如果你想要的方法,然后调用onCreateView这个方法 –

回答

0

查找溶液

public View onCreateView(LayoutInflater inflater 
     , @Nullable ViewGroup container 
     , @Nullable Bundle savedInstanceState) { 
    super.onCreateView(inflater, container, savedInstanceState); 
    _view = inflater.inflate(R.layout.fragment_spinnerMonth, container, false); 
    // Month 
    spinnerMonth = (Spinner) _view.findViewById(R.id.spinnerMonth); 
    spinnerMonth.setAdapter(monthAdapter); 
    spinnerMonth.setSelection(_selectedMonth - 1); 
    spinnerMonth.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { 
     Log.d("month",i);   
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> adapterView) { 
     } 
    }); 
    return _view; 
} 
+0

你的代码正在工作,但我需要在点击保存按钮时触发setOnItemSelectedListener。这就是为什么它不起作用。 –

+0

@mute_person仍然是微调是全球..好吧做一件事只是在onCreate方法中调用Savedata() –

0

要定义选择事件处理程序的纺丝器,实现AdapterView.OnItemSelectedListener接口和相应的onItemSelected()回调方法。内部onActivity

spinner.setOnItemSelectedListener(new OnItemSelectedListener() 
    { 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) 
     { 
      String selectedItem = parent.getItemAtPosition(position).toString(); 

     } // to close the onItemSelected 
     public void onNothingSelected(AdapterView<?> parent) 
     { 

     }   
    }); 

https://developer.android.com/guide/topics/ui/controls/spinner.html