![](/img/trans.png)
[英]Restoring original activity as it is (like home button) when back button pressed
[英]when Pressed Back Button on RecyclerView it takes to the Home Screen
我創建了Horizontal 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.