добавленные представления теперь отображаются в унаследованном LinearLayout - PullRequest
0 голосов
/ 18 мая 2011

У меня есть класс, который расширяет LinearLayout, к которому я добавляю некоторые представления в конструкторе.Однако мнения, которые я добавляю, не отображаются.Что я делаю не так?

Я установил фоновый ресурс на зеленый цвет.И я вижу большой зеленый квадрат.Так что раскладка сама себя показывает.

спасибо!

import android.content.Context;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
public class SuperButton extends LinearLayout 
{

private ImageView buttonImage;
private TextView label;
private Context context;
public SuperButton(Context context, 
        String text,
        int imageResource,
        int backgroundResource) 
{
    super(context);
    this.context = context;

    this.setBackgroundResource(backgroundResource);

    this.label = new  TextView(context);
    this.label.setText("test test test ");

    this.label.setBackgroundColor(0xff0f0f0f);
    this.buttonImage = new ImageView(context);
    this.buttonImage.setImageResource(imageResource);

    this.buttonImage.setLayoutParams(new 
            LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));       
    this.label.setLayoutParams(new LayoutParams(100,100));      

    this.addView(label);    
    this.addView(buttonImage);

}

@Override
protected void onLayout(boolean changed, int l, int t, int r, int b)
{
}

public void setButtonImage(ImageView buttonImage) 
{
    this.buttonImage = buttonImage;
}

public ImageView getButtonImage() 
{
    return buttonImage;
}

public void setLabel(TextView label) 
{
    this.label = label;
}

public TextView getLabel() 
{
    return label;
}
}

Ответы [ 2 ]

0 голосов
/ 19 мая 2011

переопределение для onLayout, сгенерированное по умолчанию, не вызывает его как супер.это решило проблему.

@Override
protected void onLayout(boolean changed, int l, int t, int r, int b)
{
     super.onLayout(changed, l, t, r, b);       
}
0 голосов
/ 18 мая 2011

Сначала я бы попытался использовать средство просмотра иерархии, чтобы увидеть информацию в вашем дереве представлений. Вы, скорее всего, найдете там свой ответ.

...