Java 如何为片段中包含的ListView调用setListAdapter
我看到的Java 如何为片段中包含的ListView调用setListAdapter,java,android,Java,Android,我看到的ListView的所有示例都是ListActivity或ListFragment的实现,其中setListAdapter()在onCreate()事件中被调用 但是,我想在另一个片段中包含列表视图,我不想将列表视图作为片段本身…如果你知道我的意思的话 我想知道我的片段是否有xml,如下所示: <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android
ListView
的所有示例都是ListActivity
或ListFragment
的实现,其中setListAdapter()
在onCreate()
事件中被调用
但是,我想在另一个片段中包含列表视图
,我不想将列表视图
作为片段
本身…如果你知道我的意思的话
我想知道我的片段是否有xml,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:textSize="40sp"
>
<ListView android:id="@+id/left_menu" android:layout_width="wrap_content" android:layout_height="wrap_content">
</ListView>
</LinearLayout>
对于fragment类中的列表视图,如何调用setListAdapter
?我看到了一个示例,其中列表视图
包含在活动
中,您可以调用findViewById()
来获取列表视图
对象,然后调用setListAdapter()
但是,Fragment
类没有findViewById
方法,那么如何获取对ListView
对象的引用呢?只是一个免责声明,我自己并没有真正尝试过,但是从API文档中读取,您可能能够调用它来获取片段的根视图。
假设您将通过
一旦您获得根视图,我想您可能可以通过通常的findviewbyd
访问ListView。这只是一个免责声明,我自己并没有真正尝试过,但是从API文档中读取,您可能能够调用来获取片段的根视图。
假设您将通过
获得根视图后,我认为您可以通过通常的findViewById
访问ListView。具体来说,片段可以使用getActivity()访问活动实例,并轻松执行任务,例如在活动布局中查找视图:
View listView = getActivity().findViewById(R.id.list);
具体而言,片段可以使用getActivity()访问活动实例,并轻松执行任务,例如在活动布局中查找视图:
View listView = getActivity().findViewById(R.id.list);
我知道这件事来得晚,但我想我会回答的,以防对其他人有帮助。您可以像其他小部件一样在普通片段中拥有ListView。在同一个片段中还可以有其他几个小部件。在本例中,使用onCreateView对碎片充气,如下所示:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle bundle) {
View view = inflater.inflate(R.layout.your_fragment, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
// I gave the default list id
listView = (ListView) view.findViewById(android.R.id.list);
listView.setAdapter(customAdapter); // your customAdapter should have already been initialzed at this point
// Initialize other items - Buttons, EditTexts... etc.
}
然后,就像对待任何ListAdapter对象一样对待它我知道这来得晚,但我想我会回答,以防它对其他人有帮助。您可以像其他小部件一样在普通片段中拥有ListView。在同一个片段中还可以有其他几个小部件。在本例中,使用onCreateView对碎片充气,如下所示:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle bundle) {
View view = inflater.inflate(R.layout.your_fragment, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
// I gave the default list id
listView = (ListView) view.findViewById(android.R.id.list);
listView.setAdapter(customAdapter); // your customAdapter should have already been initialzed at this point
// Initialize other items - Buttons, EditTexts... etc.
}
然后您只需像对待任何ListAdapter对象一样对待它做得好,先生-您完全正确的getView正是我所需要的!你能不能用一个示例代码解释一下,如何做到这一点?做得好,先生-你完全正确,getView正是我需要的!你能不能用一个示例代码解释一下,如何做到这一点?