安卓:微调工作在活动,但不分段 [英] Android: spinner works in Activity but not Fragment
本文介绍了安卓:微调工作在活动,但不分段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
于是我就能够做出微调
工作在一个单一的活动
,但是当我转到了code到A片段它显然没有奏效。
我得到一个错误在以下两行:
ArrayAdapter<&CharSequence的GT;适配器= ArrayAdapter.createFromResource(这一点,R.array.category_array,android.R.layout.simple_spinner_item);
ArrayAdapter<串GT; adapterItem =新ArrayAdapter<串GT;(这一点,android.R.layout.simple_list_item_1,suggestedItems);
和我知道的情况下这个
需要改变。我已经尝试过使用 getActivity()
,但没有正常工作。
一些有识之士需要!谢谢!
公共类NominateFragment扩展片段{@覆盖
公共查看onCreateView(LayoutInflater充气器,容器的ViewGroup,捆绑savedInstanceState){ 查看查看= inflater.inflate(R.layout.fragment_nominate_page,集装箱,FALSE); // SPINNER
微调微调=(微调)getView()findViewById(R.id.category)。
ArrayAdapter<&CharSequence的GT;适配器= ArrayAdapter.createFromResource(这一点,R.array.category_array,android.R.layout.simple_spinner_item); //使用字符串数组和默认微调布局的ArrayAdapter
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //指定布局使用出现的选项列表时,
spinner.setAdapter(适配器); //应用适配器微调 // AUTOCOMPLETE
AutoCompleteTextView nominateItem =(AutoCompleteTextView)getView()findViewById(R.id.autocomplete_nominate_item)。 //获取布局到AutoCompleteTextView参考
的String [] = suggestedItems getResources()getStringArray(R.array.suggested_items_array)。 //获取字符串数组
ArrayAdapter<串GT; adapterItem =新ArrayAdapter<串GT;(这一点,android.R.layout.simple_list_item_1,suggestedItems); //创建适配器,并将其设置为AutoCompleteTextView
nominateItem.setAdapter(adapterItem); 返回视图。
}}
解决方案
replce这一行:
ArrayAdapter<&CharSequence的GT;适配器= ArrayAdapter.createFromResource(这一点,R.array.category_array,android.R.layout.simple_spinner_item);
与
ArrayAdapter<&CharSequence的GT;适配器= ArrayAdapter.createFromResource(getActivity(),R.array.category_array,android.R.layout.simple_spinner_item);
和这一行:
微调微调=(微调)getView()findViewById(R.id.category)。
与
微调微调=(微调)view.findViewById(R.id.category);
和
AutoCompleteTextView nominateItem =(AutoCompleteTextView)getView()findViewById(R.id.autocomplete_nominate_item)。 //获取布局到AutoCompleteTextView参考
与
AutoCompleteTextView nominateItem =(AutoCompleteTextView)view.findViewById(R.id.autocomplete_nominate_item); //获取布局到AutoCompleteTextView参考
So I was able to make a Spinner
work in a single Activity
, but when I transferred the code to a Fragment it obviously didn't work.
I am getting an error in these two lines:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.category_array, android.R.layout.simple_spinner_item);
ArrayAdapter<String> adapterItem = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, suggestedItems);
and I know that the context this
needs to be changed. I already tried to use getActivity()
, but that didn't work as well.
Some insight needed! Thank you!
public class NominateFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_nominate_page, container, false);
//SPINNER
Spinner spinner = (Spinner)getView().findViewById(R.id.category);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.category_array, android.R.layout.simple_spinner_item); // Create an ArrayAdapter using the string array and a default spinner layout
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // Specify the layout to use when the list of choices appears
spinner.setAdapter(adapter); // Apply the adapter to the spinner
//AUTOCOMPLETE
AutoCompleteTextView nominateItem = (AutoCompleteTextView)getView().findViewById(R.id.autocomplete_nominate_item); // Get a reference to the AutoCompleteTextView in the layout
String[] suggestedItems = getResources().getStringArray(R.array.suggested_items_array); // Get the string array
ArrayAdapter<String> adapterItem = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, suggestedItems); // Create the adapter and set it to the AutoCompleteTextView
nominateItem.setAdapter(adapterItem);
return view;
}
}
解决方案
replce this line:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.category_array, android.R.layout.simple_spinner_item);
with
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getActivity(), R.array.category_array, android.R.layout.simple_spinner_item);
and this line:
Spinner spinner = (Spinner)getView().findViewById(R.id.category);
with:
Spinner spinner = (Spinner)view.findViewById(R.id.category);
and:
AutoCompleteTextView nominateItem = (AutoCompleteTextView)getView().findViewById(R.id.autocomplete_nominate_item); // Get a reference to the AutoCompleteTextView in the layout
with:
AutoCompleteTextView nominateItem = (AutoCompleteTextView)view.findViewById(R.id.autocomplete_nominate_item); // Get a reference to the AutoCompleteTextView in the layout
这篇关于安卓:微调工作在活动,但不分段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文