Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
YGOMobile
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fallenstardust
YGOMobile
Commits
66e262ec
Commit
66e262ec
authored
Dec 18, 2025
by
fallenstardust
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
统一在cardsearcher初始化limitlistspinner设置触摸监听
parent
95d97598
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
62 additions
and
19 deletions
+62
-19
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/CardSearchFragment.java
...java/cn/garymb/ygomobile/ui/cards/CardSearchFragment.java
+1
-1
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/CardSearcher.java
.../main/java/cn/garymb/ygomobile/ui/cards/CardSearcher.java
+55
-4
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/DeckManagerFragment.java
...ava/cn/garymb/ygomobile/ui/cards/DeckManagerFragment.java
+0
-10
mobile/src/main/java/ocgcore/LimitManager.java
mobile/src/main/java/ocgcore/LimitManager.java
+6
-4
No files found.
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/CardSearchFragment.java
View file @
66e262ec
...
@@ -215,7 +215,7 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
...
@@ -215,7 +215,7 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
mCardListAdapter
.
set
(
cardInfos
);
mCardListAdapter
.
set
(
cardInfos
);
mResult_count
.
setText
(
String
.
valueOf
(
cardInfos
.
size
()));
mResult_count
.
setText
(
String
.
valueOf
(
cardInfos
.
size
()));
mCardListAdapter
.
notifyDataSetChanged
();
mCardListAdapter
.
notifyDataSetChanged
();
if
(
cardInfos
.
size
()
>
0
)
{
if
(
!
cardInfos
.
isEmpty
()
)
{
mListView
.
smoothScrollToPosition
(
0
);
mListView
.
smoothScrollToPosition
(
0
);
}
}
}
}
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/CardSearcher.java
View file @
66e262ec
...
@@ -5,6 +5,7 @@ import android.content.Context;
...
@@ -5,6 +5,7 @@ import android.content.Context;
import
android.graphics.Color
;
import
android.graphics.Color
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
android.util.Log
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
android.view.View
;
import
android.view.inputmethod.EditorInfo
;
import
android.view.inputmethod.EditorInfo
;
import
android.view.inputmethod.InputMethodManager
;
import
android.view.inputmethod.InputMethodManager
;
...
@@ -68,7 +69,7 @@ public class CardSearcher implements View.OnClickListener {
...
@@ -68,7 +69,7 @@ public class CardSearcher implements View.OnClickListener {
private
final
Button
resetButton
;
private
final
Button
resetButton
;
private
final
View
view
;
private
final
View
view
;
private
final
View
layout_monster
;
private
final
View
layout_monster
;
private
final
ICardSearcher
mICardSearcher
;
private
final
ICardSearcher
mICardSearcher
;
// ICardSearcher 即为CardLoader的接口;
private
final
Context
mContext
;
private
final
Context
mContext
;
private
final
Button
myFavButton
;
private
final
Button
myFavButton
;
protected
StringManager
mStringManager
;
protected
StringManager
mStringManager
;
...
@@ -218,6 +219,12 @@ public class CardSearcher implements View.OnClickListener {
...
@@ -218,6 +219,12 @@ public class CardSearcher implements View.OnClickListener {
}
}
});
});
limitListSpinner
.
setOnTouchListener
((
v
,
event
)
->
{
if
(
event
.
getAction
()
==
MotionEvent
.
ACTION_DOWN
)
{
refreshLimitListSpinnerItems
(
limitListSpinner
);
}
return
false
;
// 返回false以允许正常的spinner行为继续
});
typeSpinner
.
setOnItemSelectedListener
(
new
AdapterView
.
OnItemSelectedListener
()
{
typeSpinner
.
setOnItemSelectedListener
(
new
AdapterView
.
OnItemSelectedListener
()
{
@Override
@Override
public
void
onItemSelected
(
AdapterView
<?>
parent
,
View
view
,
int
position
,
long
id
)
{
public
void
onItemSelected
(
AdapterView
<?>
parent
,
View
view
,
int
position
,
long
id
)
{
...
@@ -294,9 +301,7 @@ public class CardSearcher implements View.OnClickListener {
...
@@ -294,9 +301,7 @@ public class CardSearcher implements View.OnClickListener {
mCallBack
.
onSearchStart
();
mCallBack
.
onSearchStart
();
}
}
if
(
reload
)
{
if
(
reload
)
{
VUiKit
.
post
(()
->
{
VUiKit
.
post
(
this
::
search
);
search
();
});
}
else
{
}
else
{
if
(
mCallBack
!=
null
)
{
if
(
mCallBack
!=
null
)
{
VUiKit
.
post
(()
->
{
VUiKit
.
post
(()
->
{
...
@@ -429,6 +434,52 @@ public class CardSearcher implements View.OnClickListener {
...
@@ -429,6 +434,52 @@ public class CardSearcher implements View.OnClickListener {
}
}
}
}
private
void
refreshLimitListSpinnerItems
(
Spinner
spinner
)
{
int
index
=
0
;
int
old_count
=
0
;
// 首先清除所有现有的item
if
(
spinner
.
getAdapter
()
!=
null
&&
spinner
.
getAdapter
()
instanceof
SimpleSpinnerAdapter
)
{
// 清除前先记录下当前选中项的索引
index
=
spinner
.
getSelectedItemPosition
();
//清除前先记录下当前选项总数量
old_count
=
spinner
.
getCount
();
//清空选项
((
SimpleSpinnerAdapter
)
spinner
.
getAdapter
()).
clear
();
//重新加载禁卡表,获取可能存在的变动后情况
mLimitManager
.
load
();
}
List
<
SimpleSpinnerItem
>
items
=
new
ArrayList
<>();
List
<
String
>
limitLists
=
mLimitManager
.
getLimitNames
();
int
limit_count
=
mLimitManager
.
getCount
();
// 添加默认选项
items
.
add
(
new
SimpleSpinnerItem
(
0
,
getString
(
R
.
string
.
label_limitlist
)));
// 遍历所有限制列表,构建下拉项
for
(
int
i
=
0
;
i
<
limit_count
;
i
++)
{
int
j
=
i
+
1
;
String
name
=
limitLists
.
get
(
i
);
items
.
add
(
new
SimpleSpinnerItem
(
j
,
name
));
}
// 设置适配器
SimpleSpinnerAdapter
adapter
=
new
SimpleSpinnerAdapter
(
mContext
);
adapter
.
setColor
(
Color
.
WHITE
);
adapter
.
set
(
items
);
spinner
.
setAdapter
(
adapter
);
// 禁卡表变化时,相应调整index
index
+=
spinner
.
getCount
()
-
old_count
;
if
(
index
>=
0
)
{
spinner
.
setSelection
(
index
);
}
// 不设置监听器,避免通知整个布局变化,降低性能占用,只在initLimitListSpinners执行后另行设置
}
private
void
initPscaleSpinners
(
Spinner
spinner
)
{
private
void
initPscaleSpinners
(
Spinner
spinner
)
{
List
<
SimpleSpinnerItem
>
items
=
new
ArrayList
<>();
List
<
SimpleSpinnerItem
>
items
=
new
ArrayList
<>();
for
(
int
i
=
-
1
;
i
<=
13
;
i
++)
{
for
(
int
i
=
-
1
;
i
<=
13
;
i
++)
{
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/DeckManagerFragment.java
View file @
66e262ec
...
@@ -1620,16 +1620,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
...
@@ -1620,16 +1620,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
}
}
});
});
spinner
.
setOnTouchListener
(
new
View
.
OnTouchListener
()
{
@Override
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
if
(
event
.
getAction
()
==
MotionEvent
.
ACTION_UP
)
{
// 刷新spinner
refreshLimitListSpinnerItems
(
spinner
);
}
return
false
;
}
});
}
}
/**
/**
...
...
mobile/src/main/java/ocgcore/LimitManager.java
View file @
66e262ec
...
@@ -89,7 +89,7 @@ public class LimitManager implements Closeable {
...
@@ -89,7 +89,7 @@ public class LimitManager implements Closeable {
File
[]
files
=
AppsSettings
.
get
().
getExpansionsPath
().
listFiles
();
File
[]
files
=
AppsSettings
.
get
().
getExpansionsPath
().
listFiles
();
if
(
files
!=
null
)
{
if
(
files
!=
null
)
{
for
(
File
file
:
files
)
{
for
(
File
file
:
files
)
{
// 1.读取
扩展卡压缩包中的lflist
.conf文件
// 1.读取
expansions文件夹中压缩包中的名字包含lflist、
.conf文件
if
(
file
.
isFile
()
&&
(
file
.
getName
().
endsWith
(
".zip"
)
||
file
.
getName
().
endsWith
(
Constants
.
YPK_FILE_EX
)))
{
if
(
file
.
isFile
()
&&
(
file
.
getName
().
endsWith
(
".zip"
)
||
file
.
getName
().
endsWith
(
Constants
.
YPK_FILE_EX
)))
{
Log
.
e
(
"LimitManager"
,
"读取压缩包"
);
Log
.
e
(
"LimitManager"
,
"读取压缩包"
);
try
{
try
{
...
@@ -109,6 +109,7 @@ public class LimitManager implements Closeable {
...
@@ -109,6 +109,7 @@ public class LimitManager implements Closeable {
default_res3
=
false
;
default_res3
=
false
;
}
}
}
}
// 2.读取扩展卡文件夹中的名字包含lflist、.conf文件
if
(
file
.
isFile
()
&&
file
.
getName
().
contains
(
"lflist"
)
&&
file
.
getName
().
endsWith
(
".conf"
))
{
if
(
file
.
isFile
()
&&
file
.
getName
().
contains
(
"lflist"
)
&&
file
.
getName
().
endsWith
(
".conf"
))
{
expansion_rs2
=
loadFile
(
file
);
expansion_rs2
=
loadFile
(
file
);
}
}
...
@@ -119,11 +120,12 @@ public class LimitManager implements Closeable {
...
@@ -119,11 +120,12 @@ public class LimitManager implements Closeable {
// 3.加载主资源路径(ygocore文件夹)下的lflist.conf文件对象,这是内置默认文件
// 3.加载主资源路径(ygocore文件夹)下的lflist.conf文件对象,这是内置默认文件
File
ygocore_lflist
=
new
File
(
AppsSettings
.
get
().
getResourcePath
(),
Constants
.
CORE_LIMIT_PATH
);
File
ygocore_lflist
=
new
File
(
AppsSettings
.
get
().
getResourcePath
(),
Constants
.
CORE_LIMIT_PATH
);
default_res3
=
loadFile
(
ygocore_lflist
);
default_res3
=
loadFile
(
ygocore_lflist
);
LimitList
blank_list
=
new
LimitList
(
"N/A"
);
mLimitLists
.
put
(
"N/A"
,
blank_list
);
// 4.添加一个空卡表N/A(为了和ygopro显示一致才这么写) 无禁限
mLimitLists
.
put
(
"N/A"
,
new
LimitList
(
"N/A"
));
mLimitNames
.
add
(
"N/A"
);
mLimitNames
.
add
(
"N/A"
);
++
mCount
;
++
mCount
;
Log
.
e
(
"LimitManager加载情况"
,
"rs1="
+
expansion_zip_rs1
+
" rs2="
+
expansion_rs2
+
" res3="
+
default_res3
);
return
expansion_zip_rs1
&&
expansion_rs2
&&
default_res3
;
return
expansion_zip_rs1
&&
expansion_rs2
&&
default_res3
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment