我按照这个在线教程构建了我的应用程序的一部分,它将返回我的联系人列表,但我遇到了一些似乎没有的问题可以在教程的任何地方提到。
这是在类ContactsFragment
中,它不是项目的主要活动,但返回要使用的主要活动的片段。
此处发生错误......
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mContactsList =
(ListView) getActivity().findViewById(R.layout.contacts_list_view); <--- here
//...
}
错误读取&#34;类型为id&#34;的预期资源,这很奇怪,因为Android Studio的intellisense在编写代码时向我建议contacts_list_view
。
contacts_list_view.xml
是我从教程中复制的res/layout
目录中的文件。其内容如下:
<?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"/>
我对Android Studio和Android开发一般都很陌生,因此我很有可能错过一些明显的东西。请随意向我指出,或其他任何可能解决我问题的事情!
谢谢,
标记
答案 0 :(得分:1)
在代码中更改此行:
(ListView) getActivity().findViewById(R.layout.contacts_list_view);
的 (ListView) getActivity().findViewById(R.id.list);
在.xml文件中:
android:id="@android:id/list"
的 android:id="@+id/list"
答案 1 :(得分:0)
您使用参数findViewById(R.layout.contacts_list_view);
拨打R.layout.contacts_list_view
,但您需要的是视图的ID ...您实际需要的是R.id.list
答案 2 :(得分:-1)
initialize
内的OnViewCreated
就像这样
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ListView mContactsList =(ListView) view.findViewById(R.layout.contacts_list_view);
}