Я видел некоторые подобные вопросы об этом, но все было по разным причинам (я думаю). Код, который я использую, взято из http://developer.android.com/training. Я пытаюсь создать простое приложение для контактов в соответствии с учебным пособием: http://developer.android.com/training/contacts-provider/retrieve-names.html Часть, где я получаю ошибку Настройте CursorAdapter для ListView. Это мой код:getActivity(). FindViewById (R.layout.contacts_list_view) возвращает null
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
mContactsList = (ListView) getActivity().findViewById(R.layout.contacts_list_view);
mCursorAdapter = new SimpleCursorAdapter(getActivity(),
R.layout.contacts_list_item, null, FROM_COLUMNS, TO_COLUMN, 0);
mContactsList.setAdapter(mCursorAdapter);
mContactsList.setOnItemClickListener(this);
getLoaderManager().initLoader(0, null, this);
}
Все XML-файлы, которые были введены в действие:
contact_list_item.xml:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"/>
contact_list_view.xml:
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
Мои основная деятельность состоит из 2 FrameLayout
с для фрагментов, которые нужно положить . В этом есть это XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/frag_contacts"
android:layout_width="match_parent"
android:layout_height="200dp"
android:textColor="#0a20a3" >
</FrameLayout>
<FrameLayout
android:id="@+id/frag_contact_details"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#045011" />
</LinearLayout>
Это onCreate
деятельности:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ninth);
if (findViewById(R.id.frag_contacts) != null)
{
if (savedInstanceState != null)
return;
ContactsFragment contactsFrag = new ContactsFragment();
getFragmentManager().beginTransaction().add(R.id.frag_contacts, contactsFrag).commit();
}
}
также, это onCreateView
фрагмента:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.contacts_list_view, container, false);
}
Теперь, жаль длинный пост, некоторые из них могут быть ненужными, но проблема в том, что в первом фрагменте getActivity().findViewById(R.layout.contacts_list_view)
возвращает значение null все время! Не знаю, что еще делать. как еще я могу загрузить данные в список, и что здесь не так? Спасибо заранее!
ваш список назван android.R.id.list ... – njzk2