Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 需要在GridView Android中查找元素的帮助吗_Java_Android_Gridview - Fatal编程技术网

Java 需要在GridView Android中查找元素的帮助吗

Java 需要在GridView Android中查找元素的帮助吗,java,android,gridview,Java,Android,Gridview,所以我有一个gridview,我想在其中找到一个特定的元素 就像假设用户单击概要文件2一样,我的应用程序将创建一个新的相对布局,该布局将在概要文件2的正下方创建。为了实现这一点,我需要找出gridview中的哪个元素被单击。你能帮我弄清楚这件事吗。提前谢谢 我还尝试了这个解决方案,但它不起作用,它总是返回相同的视图,即第一个元素[EDIT] 在更好地理解你的问题之后。为了覆盖一些视图,我将使用PopupWindow控件。从下面的示例中,您可以获得屏幕上的位置(相对于父视图中的相对位置),然后使

所以我有一个gridview,我想在其中找到一个特定的元素

就像假设用户单击概要文件2一样,我的应用程序将创建一个新的相对布局,该布局将在概要文件2的正下方创建。为了实现这一点,我需要找出gridview中的哪个元素被单击。你能帮我弄清楚这件事吗。提前谢谢

我还尝试了这个解决方案,但它不起作用,它总是返回相同的视图,即第一个元素

[EDIT] 在更好地理解你的问题之后。为了覆盖一些视图,我将使用PopupWindow控件。从下面的示例中,您可以获得屏幕上的位置(相对于父视图中的相对位置),然后使用该信息将弹出窗口放置在屏幕上您希望的任何位置。例如,如果(在上面的示例图像中)用户按下“Profile 4”,您可能不希望将新视图放在按钮下方,而是放在按钮上方。PopupWindow对象允许您自由地将视图覆盖在屏幕上任何布局类型的上方。请看这里的PopupWindow示例

[原件] 试试这个例子,它展示了如何在每个项目上设置动作侦听器,等等

[编辑] 在更好地理解你的问题之后。为了覆盖一些视图,我将使用PopupWindow控件。从下面的示例中,您可以获得屏幕上的位置(相对于父视图中的相对位置),然后使用该信息将弹出窗口放置在屏幕上您希望的任何位置。例如,如果(在上面的示例图像中)用户按下“Profile 4”,您可能不希望将新视图放在按钮下方,而是放在按钮上方。PopupWindow对象允许您自由地将视图覆盖在屏幕上任何布局类型的上方。请看这里的PopupWindow示例

[原件] 试试这个例子,它展示了如何在每个项目上设置动作侦听器,等等

试试这个

gridView.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v,
            int position, long id) {
                           //Show the item selected
           Toast.makeText(getApplicationContext(),
            ((TextView) v).getText(), Toast.LENGTH_SHORT).show();
        }
    });
gridView.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、,
内部位置,长id){
//显示所选项目
Toast.makeText(getApplicationContext(),
((TextView)v.getText(),Toast.LENGTH_SHORT).show();
}
});
试试这个

gridView.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v,
            int position, long id) {
                           //Show the item selected
           Toast.makeText(getApplicationContext(),
            ((TextView) v).getText(), Toast.LENGTH_SHORT).show();
        }
    });
gridView.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、,
内部位置,长id){
//显示所选项目
Toast.makeText(getApplicationContext(),
((TextView)v.getText(),Toast.LENGTH_SHORT).show();
}
});

所以我看到了这个例子,我在我的应用程序中所做的是以编程方式在下面生成一个新的relativelayout,比如profile 2,并尝试使用以下代码params.addRule(relativelayout.down,view.getId());,其中变量视图是GridView元素。我需要将相对布局定位在概要文件2下面。因此,在您的情况下,我不会使用RelativeLayout来执行这种类型的覆盖。我会使用Popover控件。在动作侦听器中,您可以获取被按下项目的位置,并将RelativeLayout放置在popover中。然后,popover可以放在屏幕上任何你想要的地方。RelativeLayout(为了在下面放置)的问题是,它可能必须移动所有其他对象(使其看起来很凌乱)才能将其放置在下面。因此,我看到了这个示例,我在我的应用程序中所做的是,我正在以编程方式在下面生成一个新的RelativeLayout,例如配置文件2,并尝试使用以下代码,params.addRule(RelativeLayout.down,view.getId());,其中变量视图是GridView元素。我需要将相对布局定位在概要文件2下面。因此,在您的情况下,我不会使用RelativeLayout来执行这种类型的覆盖。我会使用Popover控件。在动作侦听器中,您可以获取被按下项目的位置,并将RelativeLayout放置在popover中。然后,popover可以放在屏幕上任何你想要的地方。RelativeLayout(为了在下面放置)的问题是,它可能必须移动所有其他对象(使其看起来凌乱)才能将其放置在下面。这显示了选定的项目,但无助于下面视图的覆盖+1对于获取所选项目的代码:-)这将显示所选项目,但无助于下面视图的覆盖+1表示获取所选项目的代码:-)