在片段中指定AutoCompleteTextView适配器
问题描述:
几乎让它运行。 所以,我有我的静态PlaceholderFragment,看起来像这样:在片段中指定AutoCompleteTextView适配器
public static class PlaceholderFragment extends Fragment {
private static final String ARG_SECTION_NUMBER = "section_number";
public PlaceholderFragment() {
}
public static PlaceholderFragment newInstance(int sectionNumber) {
PlaceholderFragment fragment = new PlaceholderFragment();
Bundle args = new Bundle();
args.putInt(ARG_SECTION_NUMBER, sectionNumber);
fragment.setArguments(args);
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
// Get a reference to the AutoCompleteTextView in the layout
AutoCompleteTextView textView = (AutoCompleteTextView) rootView.findViewById(R.id.customer);
String[] customers = getResources().getStringArray(R.array.al_customers);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, customers);
textView.setAdapter(adapter);
return rootView;
}
}
所以我的问题是这样的一行:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, countries);
我得到的错误如下:
Cannot resolve constructor 'ArraAdapter(com.g.h.MainActivity.PlaceholderFragment,int,java.lang.String[])'
我确实尝试在“this”之前放置课程:
MainActivity.this
在评论由NollyĴ给予210
答
答:
“使用getActivity()来代替这个”
而且,像变魔术一样。
答
AutoCompleteTextView autoCompleteTextView = (AutoCompleteTextView) view.findViewById(R.id.autocomplete_type_pres);
autoCompleteTextView.setAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_dropdown_item_1line, mylist));
当您执行了'MainActivity.this'时发生了什么? –
使用getActivity()取代这个 – Inducesmile
getActivity取得了神奇的效果。真棒 – mogren3000