java–Android;在类体中声明edittext(在任何方法中)

java–Android;在类体中声明edittext(在任何方法中),第1张

概述我有编程语言的经验,但对于android编程有点新.我有一个程序,其中包含一些字段,用作标签(textview),按钮和数据输入(edittext).每当我在程序开头用任何方法声明它们时(当然在课堂上),当我启动我的应用程序时它崩溃并且模拟给出“不幸的是,你的程序已经停止”警报.Eclipse没有给出

我有编程语言的经验,但对于android编程有点新.

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

每当我在程序开头用任何方法声明它们时(当然在课堂上),当我启动我的应用程序时它崩溃并且模拟给出“不幸的是,你的程序已经停止”警报.

Eclipse没有给出声明的任何错误,我确实使用相同的方式来定义没有问题的常规变量.当我在类体中声明一个mediaplayer对象时,它也会出现相同的错误.

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

谢谢!!

公共类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;@OverrIDepublic 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(…)将失败,因为您在调用setContenetVIEw(…)之前使用了findVIEwByID(…),因此,tv2将为null.

将您的小部件声明为Activity中的实例成员,但在设置内容视图之后不要尝试使用findVIEwByID(…),这是完全可以接受的.

总结

以上是内存溢出为你收集整理的java – Android;在类体中声明edittext(在任何方法中)全部内容,希望文章能够帮你解决java – Android;在类体中声明edittext(在任何方法中)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1112850.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存