为什么没有片段支持微调器呢?我有以下片段类并添加了微调器。
public class SettingFragment extends Fragment {
Spinner spinner1;
public List<String> genderitems, titleitems;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View rootview = inflater.inflate(R.layout.settinglayout, container,
false);
spinner1 = (Spinner) rootview.findViewById(R.id.usertitle);
titleitems = new ArrayList<String>();
setTitleSpinnerContent(rootview);
titleitems.add("Beginner");
titleitems.add("Novice");
return rootview;
}
private void setTitleSpinnerContent(View view) {
ArrayAdapter<String> adp = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_dropdown_item_1line, titleitems);
adp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adp);
}}
如何在选择时获取微调器更改值并在微调器上添加textview。 我在这里失踪的是什么?提前谢谢。
我甚至尝试添加onitemselectedlistener(),但结果也是nil。
答案 0 :(得分:4)
在activity
和fragment
中添加微调器没有区别。如果你想让微调项目改变listener
这样的实现..
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos,
long id) {
Toast.makeText(parent.getContext(),
"On Item Select : \n" + parent.getItemAtPosition(pos).toString(),
Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
答案 1 :(得分:0)
我对你的具体问题有点困惑,但是如果问题是你没有看到你的微调器填充了'Beginner'和'Novice'的值,那么看起来你已经设置了你的适配器空列表,然后在设置适配器后将项添加到列表中。但您从未在适配器上调用notifyDataSetChanged(),因此它不知道您的新值。在设置适配器之前,您是否尝试过将项目添加到列表中的简单解决方案?
titleitems.add("Beginner");
titleitems.add("Novice");
setTitleSpinnerContent(rootview);