gpt4 book ai didi

android - 如何检测 fragment 中 ListView 的点击事件

转载 作者:行者123 更新时间:2023-11-30 02:55:32 27 4
gpt4 key购买 nike

我有一个显示 ListView 的 fragment

我的问题::

  • 我如何检测列表中一行的 onClick 事件,以便当我单击它们我可以启动新 Activity
  • 我不知道我是否需要检测、单击适配器中的事件或 fragment 本身
  • 如果是,他们中的任何一个,如何?

FragRatingAscending.java

public class FragRatingAscending extends SherlockFragment {

ListView list;
ListViewSortingAdapter adapter;
private CustomCursorAdapter customAdapter;
private DatabaseAdapter databaseHelper;


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

databaseHelper = new DatabaseAdapter(getActivity());


// Locate the ListView in fragmenttab1.xml
list = (ListView) rootView.findViewById(R.id.listview);

// Database query can be a time consuming task ..
// so its safe to call database query in another thread
// Handler, will handle this stuff for you

new Handler().post(new Runnable() {
@Override
public void run() {
customAdapter = new CustomCursorAdapter(getActivity(), databaseHelper.getAllContacts(), 0);
list.setAdapter(customAdapter);
}
});

return rootView;

}


@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);

/*list.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub

Intent intent=new Intent(getActivity(),BuffetContents.class);
startActivity(intent);
}
});*/

list.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Intent intent=new Intent(getActivity(),BuffetContents.class);
startActivity(intent);
}
});


}


@Override
public void onStart() {
// TODO Auto-generated method stub
super.onStart();
}

}

我尝试使用该代码段,但它不起作用

list.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Intent intent=new Intent(getActivity(),BuffetContents.class);
startActivity(intent);
}
});

最佳答案

这行得通

list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
//intent
}
});

关于android - 如何检测 fragment 中 ListView 的点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23337509/

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