我在活动A中有recyclelerview,用于在滚动时自动播放视频。所以我已将onScrollListener添加到活动A的recyclerview中。一切正常但
我从活动A
键盘出现在活动B
结果视频开始播放在后台的活动A.任何想法,如何阻止这个?
以下是这两项活动的代码。
活动A
private RecyclerView recyclerView;
private ExoVideosAdapter exoVideosAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn=findViewById(R.id.btnB);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(MainActivity.this,secondActivity.class));
}
});
exoVideosAdapter=new ExoVideosAdapter();
recyclerView=findViewById(R.id.rv);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
Log.d("rvA","onScrollStateChanged");
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
Log.d("rvA","onScrolled");
}
});
recyclerView.setAdapter(exoVideosAdapter);
}
}
活动B只有一个edittext
public class secondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}}
答案 0 :(得分:0)
您可以照顾的一些要点:
onScrollListener
致另一个活动B时停止intent
。finish
您的活动A. Stop
您处理的过程就像在Activity A goes in background
即onPause
和onStop
时播放视频一样。希望这有帮助。
答案 1 :(得分:0)
这种奇怪行为的原因是为您的应用使用半透明主题。一旦我删除了半透明标签,它就停止调用后台活动的recyclerview的onScrollListener。
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowIsTranslucent">true</item>
</style>