我有一个片段,可以访问m_items
- 布局:
public class MoviesListFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.m_items, container, false);
我创建了一个自定义适配器(扩展BaseAdapter类),它使用另一个布局作为属于m_items
的每个列表项 - 布局:
listView = (ListView) view.findViewById(R.id.listView);
MovieAdapter adapter = new MovieAdapter(getActivity(), initData());
listView.setAdapter(adapter);
在使用适配器的布局上,有一个标识为@+id/textID
的textView。我正在尝试在onItemClick
- 方法:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView movie_id = (TextView) view.findViewById(R.id.textID);
movie_id.setText("577");
}
});
但在此处获取异常 java.lang.NullPointerException :movie_id.setText("577");
据我了解,view.findViewById(R.id.textID);
返回null。
为什么会这样?
感谢。
答案 0 :(得分:1)
View
的{{1}}参数对应于您从适配器onItemClick()
返回的View
。
要从中查找子视图,请确保从getView()
返回的视图实际上包含具有给定ID(getView()
)的视图。