无法获得访问活动项目中onItemClick方法
问题描述:
我有一个片段从哪里获得访问m_items
-layout:无法获得访问活动项目中onItemClick方法
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
-layout每个列表项:
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。
这是怎么发生的?
谢谢。
答
View
参数为onItemClick()
对应于您从适配器的getView()
返回的View
。
要从中找到子视图,请确保从getView()
返回的视图实际上包含具有给定标识(textID
)的视图。
指定textID的布局文件的内容是什么? – AGreenman 2014-09-10 14:25:35
您的适配器'getView()'返回带有'textID'的视图吗? – laalto 2014-09-10 14:27:24
@laalto,非常感谢!现在它可以工作。 – 2014-09-10 14:47:15