У меня есть внутренний класс для создания и отображения простого диалогового окна.Список фрагментов диалога - Не удается найти ресурс
private static class DisplayListDialogFragment extends DialogFragment
{
List<String> list;
OnClickListener clickListener;
private static DisplayListDialogFragment newInstance(List<String> list, String title, OnClickListener clickListener)
{
DisplayListDialogFragment dldf = new DisplayListDialogFragment();
dldf.list = (List<String>)list;
dldf.clickListener = clickListener;
Bundle bundle = new Bundle();
bundle.putString("title", title);
dldf.setArguments(bundle);
return dldf;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
ArrayAdapter<String> ad = new ArrayAdapter<String>(getActivity(), R.id.simpleListItem, this.list);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string._select_display)
.setSingleChoiceItems(ad, 1, this.clickListener);
return builder.create();
}
}
ресурсы ссылочные объявляются в строках файла
<string name="_select_display">Select Display</string>
и небольшой файл с именем simple_list.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/simpleListItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textAppearance="?android:attr/textAppearanceMedium"
/>
Приложение взрывается где-то в глубинах Inflater ресурсов на линии
return builder.create();
Стек трассировки
11-12 17:21:01.664: E/AndroidRuntime(1335): android.content.res.Resources$NotFoundException: Resource ID #0x7f040052 type #0x12 is not valid
11-12 17:21:01.664: E/AndroidRuntime(1335): at android.content.res.Resources.loadXmlResourceParser(Resources.java:1874)
11-12 17:21:01.664: E/AndroidRuntime(1335): at android.content.res.Resources.getLayout(Resources.java:731)
11-12 17:21:01.664: E/AndroidRuntime(1335): at android.view.LayoutInflater.inflate(LayoutInflater.java:318)
11-12 17:21:01.664: E/AndroidRuntime(1335): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:332)
11-12 17:21:01.664: E/AndroidRuntime(1335): at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
ресурсов идентификатор определяется в качестве R.java
public static final int simpleListItem=0x7f040052
(т.е. TextView, указанный в файле simple_list.xml выше)
Кто-нибудь может понять, что не так? В данный момент я почесываю голову.
Благодаря
Эндрю
Top ответ - спасибо в ответ. Я прихожу к этому с iPhone, и кривая обучения крутая - в основном потому, что есть так много, чтобы окунуться! – drew