Android 键盘出现时调用Recyclerview onScrolled
我在活动A中有recyclerview,用于在滚动条上自动播放视频。因此,我将onScrollListener添加到活动A的recyclerview中Android 键盘出现时调用Recyclerview onScrolled,android,android-recyclerview,Android,Android Recyclerview,我在活动A中有recyclerview,用于在滚动条上自动播放视频。因此,我将onScrollListener添加到活动A的recyclerview中 我从活动A启动另一个活动B 键盘出现在活动B上 调用get的活动recyclerview的onScroll方法 因此,视频开始在后台的活动a上播放。你知道怎么阻止吗 以下是这两项活动的代码 活动A private RecyclerView recyclerView; private ExoVideosAdapter exoVideosAdapte
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有一个编辑文本
public class secondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}}
您可以注意以下几点:
intent
时,停止您的onScrollListener
完成活动A
停止
当活动A进入后台
即onPause
和onStop
时,您的处理就像播放视频一样希望这能有所帮助。这种奇怪行为的原因是你的应用程序使用了半透明主题。一旦我删除了半透明标记,它就停止调用后台活动的recyclerview的CrollListener
<!-- 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>
@颜色/原色
@颜色/原色暗
@颜色/颜色重音
真的
将活动a和b的代码张贴在此处。为什么要否决投票?是的,我正在管理onScrollListener,将活动a暂停和恢复作为临时解决方案。但这种行为非常奇怪。@jatinrana在活动的onStart()中开始播放视频,并在onPause()和onStop()上停止播放。谢谢,但这只是一种解决方法。这种行为的真正原因是为你的应用程序使用半透明主题。一旦我删除了半透明主题,一切正常。