打印

制定的linearlayout无法显示

制定的linearlayout无法显示

需要制作一个numberbox, 就是有一个输入区,旁边有一个向上与向下的按键来改变输入区里的数值。这个物件是要在另一个layout里面加入的,在onMeasure方法里可以显示出这个物件所获得的layoutparams,结果在屏幕上没有任何显示,有哪位能指出问题所在吗?




public class NumberBox extends LinearLayout{
     private AutoCompleteTextView act;  
     private ImageView view_up;
     private ImageView view_down;
     
     public NumberBox(Context c)
     {
          super(c);
         
          act = new AutoCompleteTextView(c);      
          act.setText("0");
         
          view_up = new ImageView(c);
          view_up.setImageResource(R.drawable.arrow_up);
          view_up.setOnClickListener(new OnClickListener()
          {
               @Override
               public void onClick(View arg0)
               {
                    int value = Integer.valueOf(act.getText().toString()) + 1;                 
                    act.setText(String.valueOf(value));
               }              
          });
         
          view_down = new ImageView(c);
          view_down.setImageResource(R.drawable.arrow_down);
          view_down.setOnClickListener(new OnClickListener()
          {
               @Override
               public void onClick(View arg0)
               {
                    int value = Integer.valueOf(act.getText().toString()) - 1;
                    if (value >= 0)
                    {
                         act.setText(String.valueOf(value));
                    }                  
               }              
          });      

          this.addView(act, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
                    LayoutParams.WRAP_CONTENT));
          this.addView(view_up, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
                    LayoutParams.WRAP_CONTENT));
          this.addView(view_down, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
                    LayoutParams.WRAP_CONTENT));

          Log.i("info", "create numberbox ");
     }
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
     {
          Log.i("info", "onmeasure widthMeasureSpec "+MeasureSpec.getSize(widthMeasureSpec)+" heightMeasureSpec "+MeasureSpec.getSize(heightMeasureSpec));
          setMeasuredDimension(MeasureSpec.EXACTLY, MeasureSpec.EXACTLY);
     }
}

TOP