我有一个控制FragmentActivity的ListFragment;这个ListFragment包含一个通用的ListView、Adapter,并从我创建的Singleton中画出一个ArrayList。
在我的onCreateView方法的ListFragment中,我放置了以下代码:
public View onCreateView(LayoutInflater viewInflation, ViewGroup container,
Bundle SavedInstantState) {
cycleviewfragment = viewInflation.inflate(
R.layout.cycleviewfragment_page, container, false);
context = getActivity().getApplicationContext();
Singleton mySingleton = Singleton.getInstance();
basicList = (ListView) cycleviewfragment.findViewById(android.R.id.list);
adapter = new ArrayAdapter<listControlObject>(getActivity()
.getApplicationContext(), android.R.layout.simple_list_item_1,
mySingleton.getA1());
this.setListAdapter(adapter);
addButton = (Button) cycleviewfragment.findViewById(R.id.addbutton);
addButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(getActivity(),
listaddactivity.class);
getActivity().startActivity(myIntent);
}
});
basicList.setOnItemClickListener(new ListView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
Log.d("basicListtester", "Testing onClickItem call");
Intent myIntent = new Intent(getActivity(),
listdetailactivity.class);
myIntent.putExtra("selectedObjectIndex",arg2);
getActivity().startActivity(myIntent);
}
});
adapter.notifyDataSetChanged();
return cycleviewfragment;
}对于为什么当我将项目添加到我的列表中时,它们没有反应,OnItemClick也没有被调用,有什么想法吗?
谢谢你们。
更新
我试着用basicList.setAdapter(adapter);实现它,但它仍然不起作用。
还尝试让我的ListFragment实现OnItemClickListener并将该方法添加到类中;这也不起作用。
发布于 2014-03-25 16:16:13
由于您使用ListFragment,所以不应该将onItemClickListener设置为您的列表。在ListFragment中已经有一个方法应该重写。
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
//Do your thingy.
}发布于 2014-03-25 16:03:23
使用
basicList.setListAdapter(adapter);而不是
this.setListAdapter(adapter);使用相同的ListView实例来设置Adapter和setOnItemClickListener。
发布于 2014-03-25 16:04:12
您应该重写onListItemClick,因为您的类扩展了ListFragment。从医生那里:
当选择列表中的项时,将调用此方法。子类应该重写。
这里文档
https://stackoverflow.com/questions/22639960
复制相似问题