如何获取列表项位置?
我只是想学习片段。我在developer.android.com上看到了ListFragment
的例子,但我很难理解。
所以我在ListView
中使用了Fragment
但是当我点击这些项目时,我无法获得它的位置。我怎么能得到它?
public class Fragment_listview extends Fragment implements AdapterView.OnItemClickListener {
ListView listView;
String[] days={"Sun","Mon","Tue"};
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment,container,false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
listView= (ListView) getActivity().findViewById(R.id.listview);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,days);
listView.setAdapter(adapter);
}
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(getActivity(), "Position "+i, Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:3)
您需要将听众设置为ListView
listView.setOnItemClickListener(this);
答案 1 :(得分:1)
要完成这项工作,通常需要致电setOnItemClickListener
上的ListView
。其回调函数包括作为参数单击的视图的位置。这是一个例子:
myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id){
// DO STUFF HERE
}
});
由于您的Activity
已经实施AdapterView
,您只需将OnItemClickListener
的{{1}}设置为listView
本身,如下所示
Activity
免责声明:从here
获取此答案的一部分