我的问题是我想改变我的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
我发现了几个潜在的问题…
首先:
TextVA = (TextView)findViewById(R.id.editTextP);
是R.id.editTextP
和EditText
?您正在将其转换为TextView
也:
在这里调用setWidth
没有效果。在onCreate
完成后,每个视图都有一个onLayout
方法被调用。宽度/高度设置为调用
您可以扩展和创建自己的EditText
并覆盖onLayout
方法,或者您可以找出如何通过XML正确地调整视图的大小。