首页 > 解决方案 > 如何获取recyclerview位置数据并将其传递给android studio中的另一个活动

问题描述

所以我创建了一个回收器视图,从我的火力库中检索一些数据,但我不知道如何获取键值以将其传递给另一个活动。

我试图从每个人那里得到一个教程,但他们都没有和我一样的方法。

这是我的代码:

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_proses_pesanan);


        mDatabase = FirebaseDatabase.getInstance().getReference();
        final FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
        uid = firebaseAuth.getUid();

        mRecycler = findViewById(R.id.list_proses);
        mRecycler.setHasFixedSize(true);

        final LinearLayoutManager layoutManager = new LinearLayoutManager(this);
        layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        mRecycler.setLayoutManager(layoutManager);

        Query query = getQuery(mDatabase);

        FirebaseRecyclerOptions options = new FirebaseRecyclerOptions.Builder<Status>()
                .setQuery(query, Status.class)
                .build();

        mAdapter = new FirebaseRecyclerAdapter<Status, StatusViewHolder>(options) {
            @Override
            public StatusViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                LayoutInflater inflater = LayoutInflater.from(parent.getContext());


                return new StatusViewHolder(inflater.inflate(R.layout.item_status, parent, false));
            }
            @Override
            protected void onBindViewHolder(@NonNull final StatusViewHolder holder, final int position, @NonNull final Status model) {
                holder.binToStatus(model, new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {


                    }
                });
            }
        };

        mAdapter.notifyDataSetChanged();
        mRecycler.setAdapter(mAdapter);

    }

    @Override
    public void onStart() {
        super.onStart();
        if (mAdapter != null) {
            mAdapter.startListening();
        }
    }

    @Override
    public void onStop() {
        super.onStop();
        if (mAdapter != null) {
            mAdapter.stopListening();
        }
    }

    private Query getQuery(DatabaseReference mDatabase) {
        Query query = mDatabase.child("PesanFoto").child(uid);
        return query;
    }
}

如您所见,我有一个带有模型和 MyViewHolder 类的回收器视图。但我不知道如何获取我的回收站视图的位置来获取数据

标签: javaandroidfirebase-realtime-databaseandroid-recyclerview

解决方案


如果您想在单击 的特定项目时这样做,则RecyclerView可以使用ViewHolder.getAdapterPosition,这将为您获取 this 所代表的项目的适配器位置ViewHolder


推荐阅读