标签: viewgroup

更改PopupWindow中TextView的文本无法正常工作

我有动态改变文本的问题TextViewPopupWindowAndroid中.我已使用a 引用了TextView内部元素,但文本未更新.任何帮助将非常感谢!:)PopupWindowLayoutInflaterViewGroup

我的代码如下:

private void popupWindow() {
        try {
            LayoutInflater inflater = (LayoutInflater) SwingSpeed.this
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View layout = inflater.inflate(R.layout.popup_recording,
                    (ViewGroup) findViewById(R.id.popup_element));
            pw = new PopupWindow(inflater.inflate(R.layout.popup_recording,
                    null, false), 480, 800, true);
            pw.showAtLocation(findViewById(R.id.swingspeed), Gravity.CENTER, 0,
                    0);
            recording_text = (TextView) layout
                    .findViewById(R.id.recording_text);
            recording_text.setText("Recording"); //Update the TextView  
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
Run Code Online (Sandbox Code Playgroud)

java android popupwindow textview viewgroup

2
推荐指数
1
解决办法
1956
查看次数

无法将自动视图添加到自定义视图组

我一直在尝试将视图从xml扩展到相应的视图对象,然后将这些视图对象添加到编程的视图组中.但是,每当我调用myviewgroup.addView(子视图)时,子视图似乎都会丢失xml代码应该给出的所有按钮和内容.但是,子视图确实具有的一个方面是我编写的背景颜色,以确保为子视图提供正确的尺寸.子视图具有正确的尺寸,但其组件均不可见

     LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    viewchanger= new ViewChanger(this); //my viewgroup
    View mainmenu= inflater.inflate(R.layout.main, null); //the xml code
    mainmenu.setBackgroundColor(Color.rgb(0, 0, 255));
    viewchanger.addView(mainmenu);
    setContentView(viewchanger); 
Run Code Online (Sandbox Code Playgroud)

上面的代码只是将我的屏幕背景设置为蓝色,但没有任何按钮显示.另外,当我setContentView(mainmenu)时,一切都完全从那个xml代码和背景颜色中显示出来.这个视图组的要点是,我可以在多个视图中的任何一个视图之间切换,而不管它们作为子视图的顺序.

这是viewchanger的代码.我希望它有7个子视图,当我调用方法setView(int v)时,我希望所有其他视图都消失,我只希望那个视图可见.

public class ViewChanger extends ViewGroup{

/**Represent which view to show, only one can show at a time*/
public static final int MainMenu=0, ChooseMap=1, MapOptions=2, 
        SetLocation=3, view=4, EditMap=5, CreateMap=6;
private int current; //the current view
private View[] views= new View[7];

public ViewChanger(Context context) {
    super(context);
            //load 7 views into view array here
            //LayoutInflater inflater =    (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); …
Run Code Online (Sandbox Code Playgroud)

xml android view inflate viewgroup

2
推荐指数
1
解决办法
5388
查看次数

自定义ViewGroup中的自定义View是否应使用onDraw()或layout()?

首先,我创建了一个自定义视图,通过覆盖该onDraw()方法来吸引自己.事实证明这是不切实际的,因为我需要创建大量的视图.所以我创建了一个自定义的ViewGroup,它使用该onLayout()方法绘制每个子节点.

我在android文档中读到了子视图应该实现一个layout()方法.但是我创建的子视图使用onDraw方法绘制自己.我该怎么处理?我应该摆脱这种onDraw()方法吗?任何人都可以举例说明该layout()方法的工作原理以及我应该如何将我的onDraw()方法"转换" 为layout()方法?

我目前的onDraw()方法如下:

protected void onDraw(Canvas canvas)
    {
        super.onDraw(canvas);

        //Draw Border.
        canvas.drawRect(mCellBounds, mBorderPaint);

        //Draw Background.
        canvas.drawRect(mBackgroundBounds, mBackGroundPaint);

        //Draw Value if not 0.
        if(Value != 0)
            canvas.drawText(Integer.toString(Value), ValueX, ValueY, mNumberPaint);

        //Draw Notes if Value == 0.
        else
        {
            for(int i = 0 ; i < 9 ; i++)
                if(NoteList[i])
                    canvas.drawText(Integer.toString(i), NoteX + ((i%3) * NoteMeasureX), NoteY + ((i/3) * NoteMeasureY), mNotePaint);
        }
    }
Run Code Online (Sandbox Code Playgroud)

android android-custom-view viewgroup android-view

2
推荐指数
1
解决办法
3280
查看次数

Android - 做ViewGroup onDraw需要迭代子视图并显式调用onDraw吗?

我花了一整天的时间调试各种方法将自定义添加ViewGroup到另一个自定义中,ViewGroup并且几乎疯了,因为它们都不起作用,并且没有官方文档或示例显示它是如何完成的...

基本上,我有2个自定义ViewGroup:

  1. HorizontalDockView 扩展 ViewGroup
  2. GameEntryView 扩展 FrameLayout

HorizontalDockView覆盖onDraw,onMeasure等一切通常被称为和完美的作品.但是,当我创建GameEntryView从里面HorizontalDockView的构造,并调用addView(gameEntryView)时,gameEntryView永远不会显示不管layoutParams,addView无论从任何线程调用的,但是还是我打电话,负载,并在父母的setContentView HorizontalDockView.如果我列出horizontalDockView.getChildAt();所有gameEntryView对象仍然存在.

无望,我试图通过GameEntryView的调试onDraw,onMeasure,dispatchDraw方法和实现他们没有真正被调用!不......甚至没有一次!

我是否需要在*调用中遍历父级(Horizo​​ntalDockView)中的所有子视图并在*上显式调用子级?我只是在父母身上调用super.on*().

我确实调用setWillNotDraw( false );了父类和子类.

如何让孩子出现在父母的视野中?简单的样本或现有的小型开源项目非常感谢!

非常感谢你!

android view android-layout viewgroup

2
推荐指数
1
解决办法
1659
查看次数

在运行时从自定义ViewGroup中的TextView类型的子类获取"getText()"

如何在运行时从自定义ViewGroup中的TextView类型的子类中获取"getText()"?

android android-layout viewgroup

2
推荐指数
1
解决办法
1102
查看次数

Android:在自定义视图组中使用onTouchEvent和自定义视图

我有一个自定义视图,我称之为"节点",它是一个名为"NodeGrid"的自定义ViewGroup的子节点."NodeGrid"类更具体地扩展了RelativeLayout.

我在自定义视图类("Node")中有以下代码片段:

private boolean isBeingDragged = false;

@Override
public boolean onTouchEvent(MotionEvent event) {

    if (event.getAction() == MotionEvent.ACTION_DOWN)
    {
        isBeingDragged = true;
    }
    else if (event.getAction() == MotionEvent.ACTION_UP)
    {
        isBeingDragged = false;
    }
    else if (event.getAction() == MotionEvent.ACTION_MOVE)
    {
        if (isBeingDragged)
        {
            float xPosition = event.getX();
            float yPosition = event.getY();

            //change the x and y position here
        }
    }

    return false;
}
Run Code Online (Sandbox Code Playgroud)

问题:

在这段代码中有设置断点后,它似乎像的onTouchEvent获取调用只为MotionEvent.ACTION_DOWN情况下,而不是任何的另外两起案件("动作"或"动作移动").有没有人知道可能导致这种情况发生的任何事情?

另外(可能是相关的):

不要紧,如何视图被添加到一个ViewGroup?我注意到除了"addView"之外,还有其他方法可以将子项添加到ViewGroup,例如"addFocusables"和"addTouchables".现在我只是使用"addView"将子视图添加到ViewGroup.

android drag-and-drop view touch-event viewgroup

1
推荐指数
1
解决办法
9498
查看次数

android回收视图删除视图中的所有位图

我有一个ViewPager在我的Kindle Fire应用程序,增加了每页大约30次Activity.添加位图后没有位图的引用(在本地语句块关闭后,vars会丢失).

删除父视图时,回收所有位图的最简单方法是什么?我需要这样做,因为在刷了几页后,我的应用程序关闭了,因为没有更多的内存可以分配,因为显然非回收的位图不会释放内存.

思考?

android memory-management bitmap recycle viewgroup

1
推荐指数
1
解决办法
3301
查看次数

如何测试ViewGroup的类型?

由于我不确定这会被称为什么,我使用搜索引擎找不到任何答案.我使用多态来动态地更改活动的根元素的属性.

我正在使用以下代码来获取活动的根元素,通常是LinearLayout或RelativeLayout.

ViewGroup layout = (ViewGroup) ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0);
Run Code Online (Sandbox Code Playgroud)

由于我想动态地将RelativeLayout中的内容添加到活动中,我想测试ViewGroup(布局),如果它是RelativeLayout或LinearLayout.

有没有办法做到这一点?没有尝试强制转换每个并捕获异常?

java polymorphism android relativelayout viewgroup

0
推荐指数
1
解决办法
216
查看次数

Android:viewholder 和 viewgroup 有什么区别?

请详细解释 viewholder 和 viewgroup 之间的差异,如果它们相似或用于相似目的,请告诉我一个相对于另一个的优势。

layout android viewgroup

0
推荐指数
1
解决办法
1672
查看次数