有没有办法设置onClickListener一个RecyclerView?
我有RecyclerView一些孩子,并设置OnClickListener了父母RecyclerView.但是,onClick单击该视图时不会触发.请参阅下面的示例代码 - 我们希望获得父项的点击,而不是孩子.在这种情况下,我们不关心项目的点击次数.
我试过了setFocusable(false),setClickable(false)并且setOnClickListener(null)对孩子们无济于事.在任何情况下,我都认为孩子们没有从父母那里窃取点击,因为当我点击没有孩子的区域时,点击也不会注册.
package com.formagrid.hellotest;
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.Arrays;
import java.util.List;
public class HelloActivity extends Activity {
private RecyclerView mRecyclerView;
private RecyclerAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hello);
mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mAdapter = new RecyclerAdapter(Arrays.asList("hi", "this", "is", "some", …Run Code Online (Sandbox Code Playgroud) android android-layout onclicklistener android-recyclerview recyclerview-layout
根据RecyclerView.Adapter 的文档,您可以通知项目已更改并传入"可选的有效负载对象",然后将其合并并传递给onBindViewHolder以允许更精细的UI更新.但是,当我真的试着打电话的时候
notifyItemChanged(0, new Object())
Run Code Online (Sandbox Code Playgroud)
Android Studio告诉我我有一个额外的参数 - 它希望我只使用notifyItemChanged(0).看看RecyclerView的来源,看起来确实没有这样的方法存在.
实际上是否有传递有效载荷的方法(我是否有旧版本的lib或其他东西),或文档是否错误?
android android-adapter android-support-library android-recyclerview
android ×2