我在DialogFragment中使用ArrayAdapter,可以在Android 4.0及更高版本上运行,但在2.3版本中不行.
@OverrIDepublic Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); // Get the layout inflater LayoutInflater inflater = getActivity().getLayoutInflater(); VIEw vIEw = inflater.inflate(R.layout.dialog, null); Spinner spReglement; spReglement = (Spinner)vIEw.findVIEwByID(R.ID.ListReglements); ArrayAdapter<String> adapterList = new ArrayAdapter<String>(getActivity(), androID.R.layout.simple_List_item_1); adapterList.setDropDownVIEwResource(R.layout.customspinner); spReglement.setAdapter(adapterList); HashMap<Integer, String> mapReglement = new HashMap<Integer, String>(); mapReglement.put(-1, ""); adapterList.add(""); for(int i=0; i<alReglement.size();i++){ String libelle = String.valueOf(alReglement.get(i).get("libelle")); mapReglement.put(i, libelle); adapterList.add(libelle); } builder.setVIEw(vIEw) .setPositivebutton("ValIDer", new DialogInterface.OnClickListener() { public voID onClick(DialogInterface dialog, int ID) { mListener.onDialogPositiveClick(DialogFSE.this); } }) .setNegativebutton("Annuler", new DialogInterface.OnClickListener() { public voID onClick(DialogInterface dialog, int ID) { mListener.onDialogNegativeClick(DialogFSE.this); } }); return builder.create();}
我的布局“对话框”包含3个EditText和1个Spinner,我的布局“customspinner”只包含一个TextVIEw.
当我在AndroID 2.3上执行我的应用程序时,我有以下异常:
致命异常:com.mypackage.myapss.mainThread
java.lang.IllegalStateException:ArrayAdapter要求资源ID为TextVIEw
…
现在不要,如果它有用,但我在我的应用程序中使用androID支持v4库.
解决方法:
您需要使用此ArrayAdapter构造函数.
ArrayAdapter(Context context, int resource, int textVIEwResourceID, List<T> objects);
编辑:
ArrayAdapter<String> adapterList = new ArrayAdapter<String>(getActivity(), R.layout.customspinnerregul, R.ID.tvcustomspinner, al)
总结 以上是内存溢出为你收集整理的java – ArrayAdapter要求资源ID为DialogFragment中的TextView全部内容,希望文章能够帮你解决java – ArrayAdapter要求资源ID为DialogFragment中的TextView所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)