如何检索Gridlayout中每个视图的位置

时间:2014-01-31 19:20:54

标签: android android-layout view android-gridlayout

我是android新手,我想知道是否有一个标准方法用于在GridLayout中完成所有视图位置的检索。

我正在动态添加和删除GridLayout中的视图,如此

        addButton.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            addButton.setVisibility(View.INVISIBLE);
            Button newButton = new Button(LayoutAnimationsByDefault.this);
            gridContainer.getColumnCount();
            newButton.setText(String.valueOf("position#"+"huh"));
            newButton.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    gridContainer.removeView(v);
                    addButton.setVisibility(View.VISIBLE);
                  }
            });
            gridContainer.addView(newButton, Math.min(-1, gridContainer.getChildCount()));
        }

    });

我也试过了..

     addButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
            addButton.setVisibility(View.INVISIBLE);
            Button newButton = new Button(LayoutAnimationsByDefault.this);
            Object tag =v.getTag();
            if(tag!=null)
            {      
                int position = (Integer)tag;
                Log.v("onClick", "Position: " + position);
                newButton.setTag(position);
                newButton.setText(String.valueOf("position#"+position));
                TextView text1 = (TextView) newButton;
                String message = "positionis" + position +       text1.getText().toString();
                Toast.makeText(LayoutAnimationsByDefault.this, message, Toast.LENGTH_LONG).show();
             }
            newButton.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                    gridContainer.removeView(v);
                    addButton.setVisibility(View.VISIBLE);
                  }
            });
            gridContainer.addView(newButton, Math.min(-1, gridContainer.getChildCount()));
            gridContainer.getColumnCount();

        }

这会创建一个新按钮,但内部没有任何内容,而不是文本或任何内容

我试图弄清楚如何在gridlayout中更新和检索每个视图的更新位置,每次添加一个项目时,都会在GridLayout中重新排列。

按位置我不是指x,y坐标,而是列表视图中的0,1,2,3,4位置。

我试过getColumnCount(); getChildAt(); ActionLerner()ActionPerformed()等 任何帮助,指示,提示?谢谢!!

0 个答案:

没有答案