android中setWidth出错

时间:2013-01-18 17:17:24

标签: android textview width offsetwidth

我的问题是我想要改变我的TEXTVIEW(INPUT TEXT)的宽度。 在模拟器中,代码工作成功,但当我尝试在移动设备中使用我的应用程序崩溃时。

我的回答是:当我尝试更改.setWidth时,为什么我的应用程序崩溃?我该如何解决我的问题?

非常感谢。

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.binomial);

    EditText TextVA, TextVB, TextVC, EtiquetaA, EtiquetaB, EtiquetaC;

    TextVA = (EditText)findViewById(R.id.editTextP);
    TextVB = (EditText)findViewById(R.id.editTextK);
    TextVC = (EditText)findViewById(R.id.editText3);

    ArrayList<TextView> listaTexto = new ArrayList<TextView>();
    listaTexto.add(TextVA);
    listaTexto.add(TextVB);
    listaTexto.add(TextVC);

    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    int y = size.y;
    int x = size.x;

    ResolucionPantalla respant = new ResolucionPantalla(y, x);

    for (int i=0;i<listaTexto.size();i++)
            //ResolInput METHOD return size in px according to the screen size
        listaTexto.get(i).setWidth(respant.ResolInput());

    Button BotonCalcular = (Button)findViewById(R.id.buttonCalcular);
    BotonCalcular.setOnClickListener(this);       
}

编辑:TextView到EditText

1 个答案:

答案 0 :(得分:1)

我看到几个潜在的问题......

首先:

TextVA = (TextView)findViewById(R.id.editTextP);

R.id.editTextPEditText吗?您将其投射为TextView

还有:

此处调用setWidth无效。 onLayout完成后,每个视图都有一个onCreate方法。宽度/高度设置为在该调用期间XML布局中指定的任何内容

您可以扩展并创建自己的EditText并覆盖onLayout方法,也可以了解如何通过XML正确调整视图大小。