相关疑难解决方法(0)

在单击动画完成之前,RecyclerView onclick侦听器将触发

我正在玩新的RecyclerView.并遇到了一些问题:

  1. 我注意到它没有支持点击监听器; 我通过向每个列表项添加一个单击侦听器来修复它.(RecyclerView onClick)
  2. 单击列表项时,它不会显示lolipop的漂亮点击动画; 我固定,通过添加下列属性的列表项XML: android:background="?android:attr/selectableItemBackground"(以L RecyclerView onItemClick效果)
  3. 我的实际问题:当我点击RecyclerView中的列表项时,会立即通知监听器; 我不喜欢这样,因为在点击监听器转到下一个活动之前,用户无法看到完成点击动画.

如何在单击时使RecyclerView的行为更像ListView,以便用户能够在通知单击侦听器之前看到完成单击动画?

我知道我可以通过使用来解决这个问题,View.postDelayed但这似乎不是最佳解决方案,因为在延迟期间,用户可能能够点击更多列表项.

下面是具有一个机器人工作室项目的存储库中的链接ListViewRecyclerView并排帮助演示问题:https://github.com/ericytsang/question.listview-vs-recyclerview

非常感谢!

android listeners android-recyclerview

5
推荐指数
1
解决办法
1731
查看次数

Firebase UI RecyclerView onClick

我正在使用Firebase UI FirebaseRecyclerAdapter来填充RecyclerView.我设法从项目视图(标题)的组件中获取单击事件,但不是在项目视图中的任何位置,这是我需要的.我跟着谷歌样本.

在我的活动中:

private void setRecyclerView() {
    recyclerView = (RecyclerView) findViewById(R.id.recycler_view_gigs);
    recyclerView.setHasFixedSize(true);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));
    mAdapter = new FirebaseRecyclerAdapter<Gig, GigViewHolder>(Gig.class,
            R.layout.list_item_card,
            GigViewHolder.class,
            reference) {
        @Override
        protected void populateViewHolder(final GigViewHolder viewGig, Gig model, final int position) {

            viewGig.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Log.i(Utils.TAG, "onItemClickGeneral: position " + position);
                    // this doesn't work
                }
            });
            viewGig.bindToGig(model, new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Log.i(Utils.TAG, "onItemClickTitle: position " + position);
                    // this works
                }
            });
        }
    }; …
Run Code Online (Sandbox Code Playgroud)

android onclicklistener android-recyclerview firebase-realtime-database firebaseui

5
推荐指数
2
解决办法
1万
查看次数

RecyclerView onListItemClick创建新意图

所以,在最新的更新之前,我使用onListItemClick监听器,它工作正常,但现在我尝试使用RecyclerView,我不知道如何为每个项目实现onClick,这将打开一个新的活动..

这就是我以前的样子

public class SermonsFragment extends Fragment {

    @Override
    public void onListItemClick(ListView list, View v, int position, long id) {
        Intent mediaStreamIntent = new Intent(getActivity(), MediaStreamPlayer.class);
        mediaStreamIntent.putExtra("sermon_details", (android.os.Parcelable) list.getItemAtPosition(position));
        startActivity(mediaStreamIntent);
    }
}
Run Code Online (Sandbox Code Playgroud)

但现在,我没有使用listview而是创建了一个布道适配器,它看起来像这样

public class SermonListAdapter extends RecyclerView.Adapter<SermonListAdapter.ViewHolder>{
    private ArrayList<Sermon> mDataset;

    // Provide a reference to the views for each data item
    // Complex data items may need more than one view per item, and
    // you provide access to all the views for a data item in a view …
Run Code Online (Sandbox Code Playgroud)

android android-intent android-cardview recycler-adapter android-recyclerview

3
推荐指数
1
解决办法
2万
查看次数

RecyclerView以编程方式单击

我正在尝试以编程方式单击recyclerView的项目.我正在使用:

recyclerView.findViewHolderForAdapterPosition(index).itemView.performClick();
Run Code Online (Sandbox Code Playgroud)

当索引是可见项时,这非常有效.如果该项目不可见(在recyclerview的最后位置,对于istance),则抛出异常.

我能做什么?

java android android-adapter android-recyclerview

3
推荐指数
2
解决办法
3400
查看次数

从DialogFragment返回值

我正在做的任务,我需要在点击后显示一个对话框EditText.在该对话框中,我使用RadioButtons 显示内容RecyclerView.

现在,我想要做的是,在从对话框中选择RadioButton(在RecyclerView中的内容)之后,它应该返回该内容的值,然后应该关闭对话框.

为了生成一个对话框我用了一个DialogFragment.

由于我是android开发的新手,我完全感到困惑,无法找到解决方案.

android android-dialogfragment android-recyclerview

3
推荐指数
1
解决办法
5902
查看次数

获取 recyclerview 位置并在单击时传递对象

伙计们,我真的需要你们的帮助,我被困住了。简而言之,我制作了 recyclerview 来显示我解析的 json 数据。我被困在如何获得 recyclerview 位置并将 json 对象传递给新的活动槽意图。这是我的代码,所以你可以看到发生了什么。主要活动:

public class MainActivity extends AppCompatActivity implements SearchView.OnQueryTextListener {

ArrayList<Item> end = new ArrayList<Item>();
RecyclerView recyclerView;
Adapter adapter;
List<Item> mModels;
Context context = this;

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putParcelableArrayList("KEY2", end);

}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // View view = LayoutInflater.from(this).inflate(R.layout.activity_main, null, false);
    setContentView(R.layout.activity_main);
    recyclerView = (RecyclerView) findViewById(R.id.RecylerView);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));
    adapter = new Adapter(this);
    recyclerView.setAdapter(adapter);


    if (isAvailable() && savedInstanceState == null)
    //Check if network is available
    { …
Run Code Online (Sandbox Code Playgroud)

android json position android-intent android-recyclerview

3
推荐指数
1
解决办法
1万
查看次数

Android 5 RecyclerView就像Gmail一样

我正在玩RecyclerView,我发现没有太多关于如何使用它的文档

我从文档中看到GMail应用程序正在使用RecyclerView,但在应用程序中它具有许多普通RecyclerView不支持的功能:

它有截图

https://developer.android.com/training/material/lists-cards.html

特征:

  1. onTouch时列出项目突出显示
  2. 向左/向右滑动即可删除

我可以知道如何实现这些功能吗?

我发现有关于如何实现OnClickListener的讨论,(这些解决方案非常缓慢,因为它不断检查列表项区域)

RecyclerView onClick

但是,如果将它与Gmail应用程序进行比较,它会快速而流畅!

我可以知道如何实现上述2个功能吗?他们是如何做到的呢?他们使用Recyclerview还是ListView?

我确信我可以使用ListView实现这些功能,但我不知道如何使用Recyclerview实现它们.

android android-listview material-design android-recyclerview

1
推荐指数
1
解决办法
9081
查看次数

RecyclerView项目触摸以突出显示

我正在使用a RecyclerView,当我触摸该项目时,我无法看到任何反馈RecyclerView.我该如何实现?

我试图在用户触摸行时向用户显示反馈RecyclerView.像涟漪效应的东西.

我想知道如何在特定的一行中实现它RecyclerView.

这是回收站视图的自定义行布局.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:id="@+id/drawer_row"
    android:background="?android:attr/selectableItemBackground"
    android:clickable="true">

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="30dp"
        android:layout_marginStart="30dp"
        android:layout_toEndOf="@+id/navigation_image"
        android:layout_toRightOf="@+id/navigation_image"
        android:textSize="17sp" />

    <ImageView
        android:id="@+id/navigation_image"
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="30dp"
        android:layout_marginStart="30dp" />

    <TextView
        android:id="@+id/horizontal_line"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:layout_alignParentBottom="true"
        android:background="#F1F1F1" />


</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

这是的布局Activity具有RecyclerView

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/windowBackground">


    <RelativeLayout
        android:id="@+id/nav_header_container"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:layout_alignParentTop="true"
        android:background="@drawable/ic_drawer_header">

        <ImageView
            android:id="@+id/circle_imageview"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:background="@drawable/profile_pic"
            android:layout_marginTop="10dp"
            android:layout_marginLeft="10dp" />

        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content" …
Run Code Online (Sandbox Code Playgroud)

android material-design android-recyclerview

1
推荐指数
1
解决办法
3770
查看次数

回收器视图单击侦听器

我正在使用 Android 的应用程序来完成它,但我在 recyclerView 中发现了问题,并且我不知道如何在 recyclerView 的 Item 的 textview 上实现单击侦听器?(当我点击项目时)

我有一个多选 recyclerview ......只有当我选择 recyclerview 项目时,textview 才可见

android ontouchlistener android-recyclerview

1
推荐指数
1
解决办法
4556
查看次数

View.OnClickListener 不工作

我有一个View.OnClickListenerRecycler View但是每当我单击视图时,它都不会触发该onClick事件

这是代码:

    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
    TextView name;
    ImageView image;
    Context context;
    ArrayList<Categories_Model_Class> arrayList;

    public ViewHolder(View view, Context context, ArrayList<Categories_Model_Class> arrayList) {
        super(view);
        name = view.findViewById(R.id.category_name);
        image = view.findViewById(R.id.category_image);
        this.context = context;
        this.arrayList = arrayList;
        view.setOnClickListener(this);
        Log.i("Created", "ViewHolder");
    }

    @Override
    public void onClick(View view) {
        //Pair<View, String> pair1 = Pair.create((View) this.image, this.image.getTransitionName());
        Intent intent = new Intent(context, FullWallpaperViewActivity.class);
        //ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation((Activity)context, pair1);
        context.startActivity(intent);
        Log.i("TOUCH", "TOUCH");
    }
}
Run Code Online (Sandbox Code Playgroud)

有什么建议?

  • CardView …

android onclicklistener android-viewholder android-recyclerview

1
推荐指数
1
解决办法
6002
查看次数