簡體   English   中英

Recyclerview onclick 項目到數據庫

[英]Recyclerview onclick item to database

我想向數據庫添加一個字符串,但 OnClick 視圖我無法通過將它添加到數據庫中的說明我在該行上收到錯誤

GestioneDB db = 新的 GestioneDB(this);

錯誤是“GestioneDB 無法應用”

我使用了一個 recyclerview 來顯示一個十,我需要將 onclick 項目傳遞給數據庫

t = lista_show.get (getAdapterPosition ());

class MainAdapter extends RecyclerView.Adapter <MainAdapter.ViewHolder> {

private Context context;
    ArrayList<String> lista_show;


    public MainAdapter(ArrayList<String> lista_shows) {
        lista_show = lista_shows;
    }


    @Override
    public MainAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from (parent.getContext ()).inflate (R.layout.row,parent,false);
        return new ViewHolder (view);
    }

    @Override
    public void onBindViewHolder(MainAdapter.ViewHolder holder, int position) {
        holder.mdevice.setText (lista_show.get (position));

    }

    @Override
    public int getItemCount() {
        return lista_show.size ();
    }

    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
        public TextView mdevice;


        public ViewHolder( View itemView) {
            super (itemView);
            itemView.setOnClickListener (this);
            mdevice = itemView.findViewById (R.id.device);



        }


        @Override
        public void onClick(View v) {

            String t;
            t = lista_show.get (getAdapterPosition ());

        }
    }


}

在類ViewHolder添加方法bingItem(String item) ,當該方法被調用時,在該方法中更新TextView mdevice並將String item存儲在ViewHolder ,在那里添加一個字段String currentItem並將其存儲在那里。

現在在你的onClickt = currentItem; 並且您單擊了項目。

如果要將其添加到數據庫,則應將偵聽器從活動傳遞到適配器,然后傳遞給持有者,然后調用該偵聽器,因為它是從活動傳遞的,它可以具有上下文(或數據庫引用),因此您擁有所需的一切將其保存在數據庫中。

您可以通過這種方式在 onBindViewHolder 中獲取適配器位置:-

holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              String t = String.valueOf(position);
              // now you can use t where you want
            }
        });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM