在片段中使用 onItemClick 占据位置
Posted
技术标签:
【中文标题】在片段中使用 onItemClick 占据位置【英文标题】:Take position with onItemClick in a fragment 【发布时间】:2017-09-10 10:20:07 【问题描述】:我正在尝试在片段中实现 onItemClick,当单击一个元素时,但我没有结果但有人可以帮助我吗?
public class FotoFragment extends Fragment
private List<DataPictures> mediaList = new ArrayList<>();
private RecyclerView mRecyclerView;
private MediaRVAdapter adapter;
public FotoFragment()
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
View view = inflater.inflate(R.layout.fragment_blank, container, false);
mRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
mRecyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 3));
mRecyclerView.setPadding(10,10,10,10);
mRecyclerView.setOnLongClickListener(new View.OnLongClickListener()
@Override
public boolean onLongClick(View v)
Toast.makeText(v.getContext(), "Intent onLongClick= ", Toast.LENGTH_SHORT).show();
return false;
);
return view;
这是我的 xml 片段空白
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_
android:layout_>
</android.support.v7.widget.RecyclerView>
enter image description here
我正在尝试制作多选摄影功能,但我发现您可以使用 onItemClick 方法来做到这一点,这样做
public void onItemClick(AdapterView parent, View view, int position, long id)
如何获取该元素的位置?使用 onLongClick 方法?
【问题讨论】:
使用上面的代码可以直接点击,需要在adapter内部实现点击事件 您想实现 onItemClick 列表器,但您正在实现 onLongClick...为什么? 显示你的MediaRVAdapter
看看 ---> ***.com/a/28304517/4994239
【参考方案1】:
试试这个
OnCLick 可以使用自定义界面实现
interface Listener
void performOperation(int Position);
在您的适配器中
private Listener mListener;
在您的适配器中,像这样在构造函数中初始化您的侦听器
mListener = (Listener) context;
在你的 bindViewHolder 方法中
holder.yourView.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
mListener.performOperation(position);
);
现在在你的 Fragment 中实现这样的接口
public class FotoFragment extends Fragment implements listner
@Override
public void performOperation(int Position)
//Do whatever you want to do with this position
【讨论】:
以上是关于在片段中使用 onItemClick 占据位置的主要内容,如果未能解决你的问题,请参考以下文章
listview OnItemClick 侦听器在片段中不起作用
从片段中ListView的onItemClick开始Activity
Android OnItemClick 无法将加载的 SQL 数据库加载到列表视图中