android中的setWidth错误

android中的setWidth错误,android,textview,width,offsetwidth,Android,Textview,Width,Offsetwidth,我的问题是,我想更改文本视图(输入文本)的宽度。 在emulator中,该代码工作成功,但当我尝试在手机中使用我的应用程序时,它崩溃了 我的答案是:为什么我的应用程序在尝试更改时崩溃。setWidth?我怎样才能解决我的问题呢 非常感谢 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.bi

我的问题是,我想更改文本视图(输入文本)的宽度。 在emulator中,该代码工作成功,但当我尝试在手机中使用我的应用程序时,它崩溃了

我的答案是:为什么我的应用程序在尝试更改时崩溃。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);       
}
@覆盖
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(右布局,二项式);
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 listaTexto=新的ArrayList();
listaTexto.add(TextVA);
listaTexto.add(TextVB);
listaTexto.add(TextVC);
Display Display=getWindowManager().getDefaultDisplay();
点大小=新点();
display.getSize(size);
int y=大小。y;
int x=大小.x;
ResolucionPantalla respant=新ResolucionPantalla(y,x);

对于(int i=0;i我看到了几个潜在的问题

首先:

TextVA = (TextView)findViewById(R.id.editTextP);
R.id.editTextP
EditText
吗?您正在将其转换为
TextView

而且:

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

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