gpt4 book ai didi

java - ViewPager fragment 中的 ListView

转载 作者:行者123 更新时间:2023-12-01 12:58:02 24 4
gpt4 key购买 nike

我正在尝试让 ListView 在 android ViewPager Fragment 中工作。然而,到目前为止,我拥有的这段代码会导致应用程序崩溃 - 我不知道为什么!

public class DirectoryFragment extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_directory, container, false);

ListView listView = (ListView) getActivity().findViewById(R.id.list);

String[] values = new String[] {"Viewer 1",
"Viewer 2",
"Viewer 3"
};

ArrayAdapter adapter = new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_1, android.R.id.text1, values);

listView.setAdapter(adapter);

return rootView;
}

}

最佳答案

您必须在 listView.setAdapter(adapter); 上获取 NPE,因为 listView 未正确初始化。

您需要更改:

 ListView listView = (ListView) getActivity().findViewById(R.id.list);

ListView listView = (ListView) rootView .findViewById(R.id.list);

并确保您在fragment_directory中有list ID。

您的 View 是rootView,因此您需要它来查找ListView

//编辑

请更改

ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, android.R.id.text1, values);

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values);

但是你的代码是正确的,问题出在其他地方。

关于java - ViewPager fragment 中的 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23739353/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com