簡體   English   中英

Android-在回收站視圖中單擊項目退出活動

[英]Android - exit activity on item click in recycler view

我的RecyclerView中有一堆列表項。 我為每個項目正確處理了單擊,但是單擊任何項​​目時都需要關閉活動。 因為RecyclerView沒有setOnItemClickListener方法,所以我必須在適配器中執行此操作:

@Override
public void onBindViewHolder(final Holder holder, int position) {
    // ...

    holder.flagNameTextView.setText(arrayList.get(position).getName());

    holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // Go back to the previous activity
            // such as onBackPressed();
        }
    });
}

但是當然,適配器不會擴展Activity,所以我不能使用onBackPressed()finish()

我怎樣才能做到這一點?

使用以下內容:

全局聲明上下文。

Context c;

然后根據您的活動鍵入上下文。

((YourActivity)c).finish();

希望這可以幫助。

您可以傳遞活動的引用以拋出適配器構造函數,並調用Activity.finish();。

希望這可以幫助。

對不起我的英語不好。

您可以從flagNameTextView獲取上下文:

((Activity)holder.flagNameTextView.getContext()).finish();  

只需使用YourActivityName.this.finish()。

通過添加活動名稱,您可以告訴android您想要哪個“ this”。

僅當您的適配器未定義為靜態類時,這才起作用。

此外,您可以在RecyclerView適配器中定義類似OnClickListener的接口回調。 然后在Activity中實現此接口,將其傳遞到適配器中,然后在View的OnClickListner回調中使用它。

暫無
暫無

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

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