0

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

我的回答是:为什么当我尝试更改 .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

4

1 回答 1

1

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

对于初学者:

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

R.id.editTextP一个EditText?您将其投射为TextView

并且:

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

您可以扩展和创建自己的方法EditText并覆盖该onLayout方法,或者您可以弄清楚如何通过 XML 正确调整视图的大小。

于 2013-01-18T17:26:06.833 回答