0

我是 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 中。

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

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

4

0 回答 0