gpt4 book ai didi

java - 安卓;在类主体中声明 edittext(在任何方法之外)

转载 作者:太空宇宙 更新时间:2023-11-03 12:11:21 24 4
gpt4 key购买 nike

我有编程语言方面的经验,但对 Android 编程有点陌生。

我有一个程序,其中包含一些用作标签(textview)、按钮和数据输入(edittext)的字段。

每当我在程序开始时从任何方法中声明它们(当然是在类中),当我启动我的应用程序时它会崩溃并且模拟会发出“不幸的是,您的程序已停止”警报。

Eclipse 没有给出任何声明错误,我确实使用相同的方式定义常规变量,没有问题。当我在类主体中声明媒体播放器对象时,它也会出现相同的错误。

有谁知道为什么会报错?是否有另一种方法来声明全局对象,如 edittext、viewtext 等...在方法中一遍又一遍地声明它们对我来说听起来很奇怪。

谢谢!!

公共(public)类 TrainerActivity 扩展 Activity {

Button stopTimer = (Button)findViewById(R.id.StopTimer);
Button startTimer = (Button)findViewById(R.id.StartTimer);
EditText totalTime = (EditText)findViewById(R.id.TotalTime);
EditText enterMin = (EditText)findViewById(R.id.EnterMin);
EditText enterSec = (EditText)findViewById(R.id.EnterSec);

private boolean breaker = false;

@Override

public void onCreate(Bundle savedInstanceState)
{

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


startTimer.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub
Button_StartTimer();
}
});

stopTimer.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub
Button_StopTimer();
}
});
}

最佳答案

如果没有看到您正在尝试的示例代码,就无法确定(我们不在这里进行读心术)。但是让我猜猜,你正在做这样的事情?...

public class MyActivity extends Activity {

TextView tv1; // This is fine.
  TextView tv2 = (TextView) findViewById(R.id.textview2); // Don't do this.

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

tv1 = (TextView) findViewById(R.id.textview1); // This is fine
tv1.setText("Some text"); // This works

tv2.setText("Some text"); // NullPointerException here

}
}

tv2.setText(...)会失败,因为你使用了 findViewById(...)在你打电话之前 setContenetView(...)结果,tv2将为空。

Activity 中将小部件声明为实例成员是完全可以接受的但不要尝试使用 findViewById(...)直到您设置了内容 View 之后。

关于java - 安卓;在类主体中声明 edittext(在任何方法之外),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9105738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com