簡體   English   中英

當在RecyclerView上按“后退”按鈕時,它將進入主屏幕

[英]when Pressed Back Button on RecyclerView it takes to the Home Screen

我創建了Horizo​​ntal RecyclerView ,它具有onClickListener ,當用戶單擊它時,它將打開Video Player 當用戶單擊“后退”按鈕時出現問題。

當用戶單擊“后退”按鈕時,它將帶用戶進入MainActivity而不是用戶實際從中啟動視頻的原始活動。

這就是我所做的。 請指導我如何從recyclerView onClickListener打開另一個活動時如何保留上一個活動的歷史記錄

ListActivity

 VideosRecyclerView recyclerAdapter = new VideosRecyclerView(this, videosList);
        LinearLayoutManager layoutManager
                = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);

        lvRecyclerVideosList.setLayoutManager(layoutManager);
        lvRecyclerVideosList.setItemAnimator(new DefaultItemAnimator());
        lvRecyclerVideosList.setAdapter(recyclerAdapter);

回收適配器

public class VideosRecyclerView extends RecyclerView.Adapter<VideosRecyclerView.ViewHolder> {

    public VideosRecyclerView(Context context, ArrayList<VideosService> dataList){
        this.context= context;
        this.dataList= dataList;
    }

 @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.custom_video_list, parent, false);
        return new ViewHolder(v, context, dataList);
    }


 @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        VideosService item = dataList.get(position);

        holder.textView.setText(item.getTitle());
        videoURL= item.getVideoURL();

    }


 public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
        public ImageView imageView;
        Context context;

     @Override
        public void onClick(View v) {
            int position= getAdapterPosition();
            VideosService videosService= this.dataList.get(position);
            Intent i= new Intent(context, VideoActivity.class);
            i.putExtra("videoURL", videosService.getVideoURL());
            context.startActivity(i);

        }

表現

   <activity
        android:name=".gdvl.VideoLists
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme.NoActionBar" />

    <activity
        android:name=".VideoActivity"
        android:configChanges="orientation|screenSize"
        android:label="@string/title_activity_video"
        android:theme="@style/AppTheme" />

編輯

這就是我啟動VideoList的方式

                Intent i = new Intent(gdData.this, videoLists.class);
                i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                i.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
                finish();
                startActivity(i);

我刪除了啟動videoLists的活動的History,但從未刪除過VideoLists History。 這是如何啟動VideoPlayer

 Intent i= new Intent(context, VideoActivity.class);
            i.putExtra("videoURL", videosService.getVideoURL());
            context.startActivity(i);

刪除i.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); 從啟動視頻列表活動時開始。

它將清除您的歷史記錄。

暫無
暫無

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

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