android - fragment onListItemClick

标签 android listview android-fragments onclick fragment

当我点击项目时,我的 onListItemClick 永远不会被调用,类是扩展 fragment 而不是列表 fragment ,因为我在这个 fragment 中有其他 View 项目不是列表,那么如何在类扩展 fragment 中实现 onlistitemclick?

public class MainFiles extends Fragment 
{
    ArrayList<String> items;

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    {
        View view = inflater.inflate(R.layout.files, container, false);

        Button button_up = (Button) view.findViewById(R.id.button_up);
        items = new ArrayList<String>();

        MyAdapter adapter = new MyAdapter(getActivity(), R.layout.row, items);
        ListView myList = (ListView) view.findViewById(R.id.list);
        myList.setAdapter(adapter);

        return view;
    }

    public void onListItemClick(ListView l, View v, int position, long id) 
    {

    }
}

最佳答案

OnItemClickListener 显式添加到您的 ListView

myList.setOnItemClickListener(this);

您还必须确保您的 Fragment 实现了 OnItemClickListener 类型:

public class MainFiles extends Fragment implements OnItemClickListener

另一种方法是创建 OnItemClickListener 的专用子类以传递给 ListView:

myList.setOnItemClickListener(new MyOnItemClickListener());

/* ... */

private class MyOnItemClickListener implements OnItemClickListener {

    /* ... */

}

关于android - fragment onListItemClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13811023/

相关文章:

java - 'keytool' 未被识别为内部或外部命令

android - 从 NFC 应用程序到 PN532 读卡器的数据传输

android - 在 Google Play 中,它显示 "You need to upload an APK or Android App Bundle for this application"

wpf - 删除WPF ListView的“经典”缩进边框

android - 在 fragment View 模型之间传递数据

Android imageview、缩放全屏、centerCrop

c# - 通过 ListView 中的 DataContext 从行对象获取值

java - 如何使用 ImageView 增加和减少值(数量)?

android - 同一 Activity 和同一屏幕中的两个 fragment

android - 在 Activity 和 ViewPager fragment 之间进行通信