如何在 ANDROID 中访问 activity(其父级)中的 gridview 的每个元素
How to access each element of gridview in activity(its parent) in ANDROID
我有一个 activity
,里面有一个 Gridview
和一个 Adapter
来填充它。在 Gridview
的每个项目中都有一些项目,例如 TextView
和 ImageView.
我需要从 activity(其父级)更改 gridview
项(不是全部)之一的 textView
。
所以我的问题是如何访问 gridview
项的值?
请注意,我正在开发 Android STB
,因此我正在使用远程控制(我有箭头键,所以我不能使用 setOnClickListener
)。
未经测试我会说 TextView:
- 在您的 activity 中调用 getCurrentfocus() 以访问突出显示的视图(如您所说,您没有调用 onClick 的可能性)
- 使用您的 TextView 的 ID 调用 findViewById()
- 调用 setText(String)
示例:
getCurrentFocus().findViewById(id.exampleTextView).setText("ExampleString")
也许你必须先施法:
TextView exampleTextView = (TextView) getCurrentFocus();
exampleTextView.setText("ExampleString");
请注意,这不会更改您的数据集。但这似乎也不是问题,是吗?
最后,在各位开发者朋友的帮助下,答案如下:
假设您想要 select 第四个(第 4 项)项目:
int pos = 3;
View v = myGridView.getChildAt(pos);
if (v!=null) {
v.setSelected(true);
v.findViewById(R.id.myTextId).setText("New Value");
}
我有一个 activity
,里面有一个 Gridview
和一个 Adapter
来填充它。在 Gridview
的每个项目中都有一些项目,例如 TextView
和 ImageView.
我需要从 activity(其父级)更改 gridview
项(不是全部)之一的 textView
。
所以我的问题是如何访问 gridview
项的值?
请注意,我正在开发 Android STB
,因此我正在使用远程控制(我有箭头键,所以我不能使用 setOnClickListener
)。
未经测试我会说 TextView:
- 在您的 activity 中调用 getCurrentfocus() 以访问突出显示的视图(如您所说,您没有调用 onClick 的可能性)
- 使用您的 TextView 的 ID 调用 findViewById()
- 调用 setText(String)
示例:
getCurrentFocus().findViewById(id.exampleTextView).setText("ExampleString")
也许你必须先施法:
TextView exampleTextView = (TextView) getCurrentFocus();
exampleTextView.setText("ExampleString");
请注意,这不会更改您的数据集。但这似乎也不是问题,是吗?
最后,在各位开发者朋友的帮助下,答案如下: 假设您想要 select 第四个(第 4 项)项目:
int pos = 3;
View v = myGridView.getChildAt(pos);
if (v!=null) {
v.setSelected(true);
v.findViewById(R.id.myTextId).setText("New Value");
}