Java 我能';t setText()在另一个布局文件上
因此,我有一个单独的导航布局文件,我想通过点击按钮来编辑它。但当我这样做时,我得到了错误:Java 我能';t setText()在另一个布局文件上,java,android,nullpointerexception,textview,Java,Android,Nullpointerexception,Textview,因此,我有一个单独的导航布局文件,我想通过点击按钮来编辑它。但当我这样做时,我得到了错误: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference 我用来定义它的代码是: private TextView tvData; pri
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
我用来定义它的代码是:
private TextView tvData;
private TextView gettingPrices;
private TextView navTime;
private TextView title;
navTime = (TextView) findViewById(R.id.refreshPricesNav);
tvData = (TextView) findViewById(R.id.test);
gettingPrices = (TextView) findViewById(R.id.gettingPrices);
title = (TextView) findViewById(R.id.navtitle);
执行的代码如下:
title.setText("Last Checked" + Datetime());
修正!添加了
navTime=(TextView)findViewById(R.id.refreshPricesNav)
到onPostExecute您的R.id.navtitle
TextView
在当前布局文件中不可用
TextView
可用的方法TextView
设为static
,以便您也可以从其他类访问它您应该移动下面的所有代码
navTime = (TextView) findViewById(R.id.refreshPricesNav);
tvData = (TextView) findViewById(R.id.test);
gettingPrices = (TextView) findViewById(R.id.gettingPrices);
title = (TextView) findViewById(R.id.navtitle);
创建该活动的方法。粘贴上述代码之前,不要记得设置视图。您应该将内容视图设置为
setContentView(R.layout.filename);
根据布局名称替换
文件名。调用这行代码时会发生什么
title = (TextView) findViewById(R.id.navtitle);
在这里,findViewById()方法返回null,因此title指向no where,这意味着title没有对象引用,这是因为您在当前布局文件中没有通过navtitle的id声明TextView,因此,您必须在当前版面中声明此内容,或者如果您在其他版面中声明,则可以使用include标记。很难说您提供的信息。确保title=(TextView)findViewById(R.id.navtitle)在title.setText(“上次选中”+Datetime())之前肯定会调用code>
并且IDR.ID.navtitle
存在于layout.xml中。你能发布你的onCreate()方法impl.add你的layout和java代码,这样你就可以很容易地告诉你问题出在哪里了吗?