Skip to content

Commit 21945d2

Browse files
committed
修复向左向右播放
添加节目单功能,按菜单键即可呼出
1 parent 3be2e3d commit 21945d2

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

app/src/main/java/com/eanyatonic/cctvViewer/ChannelAdapter.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import java.util.List;
1717

1818
public class ChannelAdapter extends RecyclerView.Adapter<ChannelAdapter.ChannelViewHolder> {
19-
private int selectedItem = -1; // 用于跟踪选中的项
19+
private int selectedItem = 0; // 用于跟踪选中的项
2020

2121
private List<EpgInfo> channelList;
2222
private OnItemClickListener onItemClickListener;
@@ -48,11 +48,12 @@ public void onBindViewHolder(ChannelViewHolder holder, int position) {
4848
holder.channelNameTextView.setBackgroundResource(R.drawable.channel_background_selected);
4949
holder.channelNameTextView.setTextColor(ContextCompat.getColor(holder.itemView.getContext(), R.color.text_color));
5050
}
51+
recyclerView.requestFocus(); // 将焦点设置到 RecyclerView
52+
5153
EpgInfo channel = channelList.get(position);
5254
holder.bind(channel);
5355
Log.d("ChannelAdapterxx", "Bound channel: " + channel.getName());
5456
holder.channelNameTextView.setOnKeyListener((v, keyCode, event) -> {
55-
notifyDataSetChanged();
5657
int action = event.getAction();
5758
if (event.getAction() == KeyEvent.ACTION_DOWN){
5859
switch (keyCode) {
@@ -82,6 +83,7 @@ public void onBindViewHolder(ChannelViewHolder holder, int position) {
8283
+ "document.querySelector('#" + epgInfo.getId() + "')" + ".click();"+"}"+"xx()"
8384
, null);
8485
return true;
86+
8587
}
8688
}
8789

app/src/main/java/com/eanyatonic/cctvViewer/MainActivity.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,8 @@ function sleep(ms) {
473473
}
474474
475475
async function playback(offset){
476+
document.querySelector('#play_or_plause_player').click();
477+
await sleep(500);
476478
const targetElement = document.querySelector("#timeshift_pointer_player")
477479
const xy = document.querySelector("#timeshift_pointer_player").getClientRects()[0]
478480
console.log(xy)
@@ -484,7 +486,10 @@ async function playback(offset){
484486

485487

486488
Log.d("recyclerView.hasFocus()",recyclerView.hasFocus()+"xxx");
489+
Log.d("recyclerView.hasFocus()",webView.hasFocus()+"xxx");
490+
487491
if (!recyclerView.hasFocus()&&event.getAction() == KeyEvent.ACTION_DOWN) {
492+
channelAdapter.notifyDataSetChanged();
488493
Log.d("ACTION_DOWN","ACTION进入了");
489494
if (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_UP || event.getKeyCode() == KeyEvent.KEYCODE_DPAD_DOWN || event.getKeyCode() == KeyEvent.KEYCODE_DPAD_LEFT || event.getKeyCode() == KeyEvent.KEYCODE_DPAD_RIGHT || event.getKeyCode() == KeyEvent.KEYCODE_ENTER || event.getKeyCode() == KeyEvent.KEYCODE_DPAD_CENTER || event.getKeyCode() == KeyEvent.KEYCODE_MENU) {
490495
if (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_UP) {
@@ -514,7 +519,6 @@ async function playback(offset){
514519
""",null);
515520
} else if (event.getKeyCode() == KeyEvent.KEYCODE_MENU) {
516521
recyclerView.setVisibility(View.VISIBLE);
517-
recyclerView.requestFocus(); // 将焦点设置到 RecyclerView
518522
return false; // 返回 true 表示事件已处理,不传递给 WebView
519523
}
520524
return true; // 返回 true 表示事件已处理,不传递给 WebView

0 commit comments

Comments
 (0)